我有一个 SqlAlchemy/Flask 应用程序。在其中,我有一个名为MyModelA
. 这是它的样子:
class MyModelA(db.Model):
a_id = db.Column(db.Integer, nullable=False, primary_key=True)
my_field1 = db.Column(db.String(1024), nullable=True)
现在,我正在添加一个子模型MyModelB
。这是它的样子:
class MyModelB(db.Model):
b_id = db.Column(db.Integer, nullable=False, primary_key=True)
a_id = db.Column(db.Integer, db.ForeignKey(MyModelA.a_id), nullable=False)
my_field2 = db.Column(db.String(1024), nullable=True)
然后我跑python manage.py migrate
。这是迁移文件中显示的内容:
def upgrade():
op.create_table('my_model_b',
sa.Column('b_id', sa.Integer(), nullable=False),
sa.Column('a_id', sa.Integer(), nullable=False),
sa.Column('my_field2', sa.String(length=1024), nullable=True),
sa.ForeignKeyConstraint(['a_id'], [u'my_model_a.a_id'], ),
sa.PrimaryKeyConstraint('b_id')
)
def downgrade():
op.drop_table('my_table_b')
我想编辑此迁移,以便为每个实例创建一个实例的MyModelA
子记录,并将其设置为。我该怎么做?MyModelB
MyModelB.my_field2
MyModelA.my_field1
请显示升级和降级代码。