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
アップグレードとダウングレードのコードを表示してください。