Ale*_*ley 13 python mysql sqlalchemy flask flask-sqlalchemy
我对标题中提到的主题感到有些困惑.
因此,当启动Flask应用程序时,SQLAlchemy是否会搜索SQLALCHEMY_DATABASE_URI正确的MySQL数据库.然后,如果表已经不存在,它会创建表吗?
如果编程到文件中的SQLALCHEMY_DATABASE_URI变量的数据库config.py不存在怎么办?
如果该数据库存在,并且只存在少数几个表(SQLAlchemy代码中编码的表多于实际MySQL数据库中存在的表),该怎么办?它会删除这些表,然后使用当前规范创建新表吗?
如果这些表全部存在怎么办?它们会被删除并重新创建吗?
我试图理解整个过程是如何工作的,以便我(1)在对模式进行更改时不丢失数据库信息,(2)可以编写必要的代码来完全管理SQLAlchemy如何以及何时与实际数据库.
Mar*_*ers 13
表不是自动创建的; 你需要调用SQLAlchemy.create_all()方法来显式地让它为你创建表:
db = SQLAlchemy(app)
db.create_all()
Run Code Online (Sandbox Code Playgroud)
例如,您可以使用命令行实用程序执行此操作.或者,如果您部署到Google App Engine等PaaS,则会使用专用的仅限管理员的视图.
这同样适用于数据库表销毁; 使用该SQLAlchemy.drop_all()方法.
请参阅文档的创建和删除表章节,或者查看Mega Flask教程的数据库章节.
| 归档时间: |
|
| 查看次数: |
8060 次 |
| 最近记录: |