我有一个炼金术的对象:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class MyORM(Base):
id = Column(Integer, primary_key=True)
name = Column(String(128), unique=True, nullable=False)
使用alembic创建表时,我执行以下操作:
^{pr2}$问题:是否有方法使用MyORM类创建表?像这样:
def upgrade():
op.create_table(
'myorm',
sa.BaseObject(MyORM)
)
这正是Alembic迁移试图避免的。如果将迁移绑定到模型的当前状态,则不会是一致的升级路径。在
您可以在迁移中使用声明性来创建表和迁移数据,但不能更改。您必须重新创建与应用程序定义不同的定义。如果您想进行数据迁移,并且更熟悉ORM查询而不是核心查询,那么这将非常有用。在
下面是一个迁移示例,它使用声明性方法创建具有多对多关系的Foo和Bar模型,创建表,并插入一些数据。在
相关问题 更多 >
编程相关推荐