Sqlite缺少ALTER支持,因此Alembic迁移失败。解决方案?

金狼

我正在使用Flask,SQLAlchemy和Flask-migrate(alembic)为朋友zumba类开发一个小型注册应用程序,以处理数据库更新。我选择了SQlite,因为该应用程序必须是自包含的,并且必须在没有Internet访问的笔记本电脑上本地运行,并且SQLite不需要安装服务或其他,这也是必须的。

在最初的开发过程中,处理SQLite缺少ALTER表支持的问题就不成问题,因为我只是销毁了该问题,并在出现问题时重新创建了DB。但是现在我的朋友实际上正在使用该应用程序,所以我遇到了一个问题。

根据功能请求,必须修改表,然后再次出现令人恐惧的“ SQLite方言不支持ALTER约束”。我预见到将来也会出现此问题。

我该如何处理?在处理数据库方面,我几乎是一个新手。我读过一种解决方法,就是创建一个新表,创建新约束,复制数据并重命名该表,但是我不知道如何在Alembic脚本中实现它。

乔丹·阿帕鲁

您可以render_as_batch=True在通过初始迁移创建的env.py文件中设置变量()。

context.configure(
    connection=connection,
    target_metadata=target_metadata,
    render_as_batch=True
)

它要求Alembic> 0.7.0

这样就可以生成批处理操作迁移,即使用约束创建新表,复制现有数据并删除旧表。参见http://alembic.zzzcomputing.com/en/latest/batch.html#batch-mode-with-autogenerate

如果仍然遇到问题,请告知-sqlite仍然存在细微差别,例如http://alembic.zzzcomputing.com/en/latest/batch.html#dropping-unnamed-or-named-foreign-key-constraints

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果解决方案缺少参考项目,则MSBuild解决方案构建失败

来自分类Dev

由于缺少所有引用,因此无法从TFS运行解决方案

来自分类Dev

将TFS仓库迁移到AzureDevOps仓库-解决方案中缺少文件

来自分类Dev

缺少整数变化-需要O(n)解决方案

来自分类Dev

清除python列表推导中缺少值的解决方案

来自分类Dev

Eclipse中缺少快速修复解决方案

来自分类Dev

递归N-Queens:缺少解决方案

来自分类Dev

重建解决方案-“ SignFile”任务不支持“参数”

来自分类Dev

Microsoft Dynamics CRM 2011中的导出解决方案失败

来自分类Dev

操作失败,无法找到解决方案目录

来自分类Dev

用Pymoo重新启动的解决方案失败

来自分类Dev

工业解决方案中的Openwrt。连接失败的原因

来自分类Dev

操作失败,无法找到解决方案目录

来自分类Dev

引导期间服务失败,哪种解决方案?

来自分类Dev

NSIS 获取产品版本解决方案失败

来自分类Dev

递归解决方案?

来自分类Dev

解决方案的投影

来自分类Dev

Mathematica解决方案?

来自分类Dev

正确的解决方案

来自分类Dev

BeautifulSoup解决方案

来自分类Dev

解决方案的投影

来自分类Dev

正确的解决方案

来自分类Dev

Git使用先前的解决方案解决了冲突,但仍称其为“自动合并失败”

来自分类Dev

程序包管理器:对解决方案中的特定项目使用启用迁移

来自分类Dev

从Oracle JDK迁移到Amazon Corretto期间应重新编译完整的Java解决方案

来自分类Dev

将Visual Studio 2012解决方案迁移到其他服务器的NOT版本

来自分类Dev

将迁移的解决方案签入新版本的TFS

来自分类Dev

程序包管理器:对解决方案中的特定项目使用启用迁移

来自分类Dev

无法将C ++解决方案从VS2013 Ultimate迁移到Pro

Related 相关文章

  1. 1

    如果解决方案缺少参考项目,则MSBuild解决方案构建失败

  2. 2

    由于缺少所有引用,因此无法从TFS运行解决方案

  3. 3

    将TFS仓库迁移到AzureDevOps仓库-解决方案中缺少文件

  4. 4

    缺少整数变化-需要O(n)解决方案

  5. 5

    清除python列表推导中缺少值的解决方案

  6. 6

    Eclipse中缺少快速修复解决方案

  7. 7

    递归N-Queens:缺少解决方案

  8. 8

    重建解决方案-“ SignFile”任务不支持“参数”

  9. 9

    Microsoft Dynamics CRM 2011中的导出解决方案失败

  10. 10

    操作失败,无法找到解决方案目录

  11. 11

    用Pymoo重新启动的解决方案失败

  12. 12

    工业解决方案中的Openwrt。连接失败的原因

  13. 13

    操作失败,无法找到解决方案目录

  14. 14

    引导期间服务失败,哪种解决方案?

  15. 15

    NSIS 获取产品版本解决方案失败

  16. 16

    递归解决方案?

  17. 17

    解决方案的投影

  18. 18

    Mathematica解决方案?

  19. 19

    正确的解决方案

  20. 20

    BeautifulSoup解决方案

  21. 21

    解决方案的投影

  22. 22

    正确的解决方案

  23. 23

    Git使用先前的解决方案解决了冲突,但仍称其为“自动合并失败”

  24. 24

    程序包管理器:对解决方案中的特定项目使用启用迁移

  25. 25

    从Oracle JDK迁移到Amazon Corretto期间应重新编译完整的Java解决方案

  26. 26

    将Visual Studio 2012解决方案迁移到其他服务器的NOT版本

  27. 27

    将迁移的解决方案签入新版本的TFS

  28. 28

    程序包管理器:对解决方案中的特定项目使用启用迁移

  29. 29

    无法将C ++解决方案从VS2013 Ultimate迁移到Pro

热门标签

归档