草庐IT

latest-sqlalchemy

全部标签

python - Flask-SQLAlchemy with_for_update() 行锁

我有一个名为“User”的模型,“User”有“Money”。存在多个session可以同时读取模型“User”并更新“money”的场景。session2应在session1成功更新后读取“money”值。我试图在更新时锁定“用户”行。这是我的代码。user=User.query.with_for_update().filter_by(id=userid).first()print('000000')before_money=user.moneyprint('111111')time.sleep(1)user.money-=0.1print('User:'+str(user.id)+

python - 将 SSL 与 SQLAlchemy 结合使用

我最近将我的项目更改为使用SQLAlchemy,并且我的项目运行良好,它使用了外部MySQL服务器。现在我正在尝试使用具有SSLCA的不同MySQL服务器,但它无法连接。(它确实使用MySQLWorkbench连接,所以证书应该没问题)我正在使用以下代码:ssl_args={'ssl':{'ca':ca_path}}engine=create_engine("mysql+pymysql://:@/",connect_args=ssl_args)我收到以下错误:Can'tconnecttoMySQLserveron'\addr\'([WinError10054]Anexistingcon

python - Flask-SQLAlchemy 声明式和 MySQL 特定数据类型

我有一个已经存在的MySQL数据库,其中有许多列用MySQL特定的列类型(MEDIUMINT、TINYINT等等)定义,即使列类型属于标准SQL数据类型,有时也被声明为无符号。现在我正在编写一个Flask应用程序来提供一个API以各种方式访问​​数据库。使用普通的SQLAlchemy,我将从sqlalchemy.dialects.mysql导入特定的数据类型定义,例如:fromsqlalchemyimportColumnfromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemy.dialects.mysqlimp

python - 预取列序列 SQLAlchemy

我的模型非常复杂,我试图从现有存储过程中获取逻辑并将它们转换为SQLAlchemy(出于可移植性原因)。然而,我正在为未提交的数据而苦苦挣扎。我有user表:1d,名称我有status表:id,name我有user_statuses表:id、user_id、status_id、from_dt、to_dt现在,我需要在单个事务中填充所有这些表,否则会失败。问题:user=User(name='Test')status=Status(name='Active')db.session.add(user)db.session.add(status)#Oooopa!Thisiswhereitfa

python - 使用 sqlalchemy session 执行 sql DRASTICALLY 会减慢执行时间

我有一个相当长的查询(是7个连接,现在是7个子选择,因为在原始sql中,7个子选择要快得多——我什至不知道如果我让它运行,7个连接什么时候完成,但长于1分钟,而子选择为0.05-0.1秒)当我在数据库上运行它时,如我所说,执行时间为0.05-0.1秒。只需使用session.execute()即可将其速度减慢一分多钟!有什么我可以做的吗?如果您需要更多信息,请告诉我——我有点怀疑这是一个普通的sqlalchemy事情——比如sqlalchemy可能正在设置一个查询计划,而不是让mysql执行它?或者……?编辑:对两者进行解释,它们看起来相同,只是sqlalchemy添加了“使用临时文件

python - Flask-SQLAlchemy 检查数据库服务器是否响应

我正在为我的网络服务使用flask-SQLAlchemy。我想要一个端点来检查所使用的MySQL数据库可用性/响应性的状态。我该怎么办?谢谢。以下是我的代码的相关部分:mywebsvc.py...app=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql://mylogin:mypw@localhost/mydb'db.init_app(app)...models_shared.pyfromflask.ext.sqlalchemyimportSQLAlchemydb=SQLAlchemy()模型.pyfrommodel

python - SQLAlchemy JSON 列 - 如何执行包含查询

我在mysql(5.7.12)中有下表:classStory(db.Model):sections_ids=Column(JSON,nullable=False,default=[])sections_ids基本上是一个整数列表[1,2,...,n]。我需要获取sections_ids包含X的所有行。我尝试了以下方法:stories=session.query(Story).filter(XinStory.sections_ids).all()但它抛出:NotImplementedError:Operator'contains'isnotsupportedonthisexpressio

mysql - sqlalchemy ORM : how to give some low-level specification?

我在sqlalchemy中使用ORM.实际情况是我也在用MySQL数据库,我想设置一些tableconfigurationMySQL必须适合我的项目。(例如mysql_engine='InnoDB'、mysql_charset='utf8'等等)我知道有一种方法使用SA提供的SQL表达式。但我更喜欢使用ORM接口(interface)。有什么想法吗?P.S:如何使用“classmytable”形式产生相同的效果(使用ORM而不是SQLExpressionmaker) 最佳答案 您可以在sqlalchemy的表定义中传递mysql选项

python - 如何在 SQLAlchemy(python,flask)中为模型用户自身创建多对多关系

我需要创建一个名为friends的表,它应该如下所示:friend:用户编号friend_id我试图通过SQLALchemy的教程来做到这一点,但我还没有找到如何为同一个表建立多对多关系。这是我尝试过的:#friendstable#manytomany-user-user_friends=db.Table('friends',db.Column('user_id',db.Integer,db.ForeignKey('users.id')),db.Column('friend_id',db.Integer,db.ForeignKey('users.id')))classUser(db.M

使用python3的sqlalchemy+sqlcipher3对sqlite3数据加密,使用pysqlcipher3编译打建环境,并写项目测试

一、背景最近有个想法,想写一个软件,前期本来想用java的springboot加vue来实现,数据库选sqlite来存储,但在用spingboot框架搭好之后,感觉这款软件更适合用python来写,java不适windows桌面系统,最终选择了pthon使用tkintergui来实现。sqlite数据库方便是方便,但开源版本不能设置密码,可以设置密码的商业版本一年需要499美元一年,太贵了,不适合此软件,但为了数据的安全时,又必须对sqlite加密,所以在编译pysqlcipher3的道路上,遇到了各种奇葩问题,百度上搜的结果信息也很少,而且几乎零零散散的,感觉国内在使用python+sqli