SQLAlchemy 1.4中修改ARRAY为可变类型是否需Alembic迁移?
关于SQLAlchemy MutableList修改与Alembic迁移的问题
是否需要执行数据库迁移?
不需要。
详细说明
你添加的MutableList.as_mutable()是SQLAlchemy在ORM层面提供的可变容器增强,作用是让ORM能够追踪数组内部元素的增删改操作,进而自动将变更同步到数据库。这种修改仅存在于应用代码的逻辑层面,完全不会改变数据库中的列定义、存储结构或约束规则——数据库里该列依然是枚举数组类型,没有任何schema层面的变动。
Alembic的检测机制
Alembic的核心功能是检测并生成数据库schema层面的变更脚本,比如列类型修改、约束添加/移除、表结构调整等。ORM层的可变包装不属于schema变更范畴,因此Alembic默认不会识别这类修改,也不需要针对它创建迁移。
内容的提问来源于stack exchange,提问作者Razvan
相关产品推荐
相关产品推荐

