【发布时间】:2015-08-03 09:16:36
【问题描述】:
我正在为一个朋友 zumba 课程开发一个小型注册应用程序,使用 Flask、SQLAlchemy 和 Flask-migrate(alembic) 来处理数据库更新。我选择了 SQlite,因为该应用程序必须是独立的,并且必须在没有互联网访问的笔记本电脑上本地运行,而且 SQLite 不需要安装服务或其他服务,这也是必须的。
在最初的开发过程中,处理 SQLite 缺乏对 ALTER 表的支持并不是问题,因为我只是简单地销毁,在出现问题时重新创建了数据库。但是现在我的朋友实际上正在使用该应用程序,我遇到了一个问题。
根据功能请求,必须修改表,我又一次得到了可怕的“不支持 SQLite 方言中约束的 ALTER”。我预见这个问题将来也可能会出现。
我该如何处理这个问题?在处理数据库方面,我几乎是一个新手。我读到一种处理方法是创建一个新表,创建新约束并复制数据并重命名表,但我不知道如何在 alembic 脚本中实现它。
【问题讨论】:
标签: sqlite sqlalchemy alembic