这是我的Budget
架构
class Budget(db.Model): __tablename__ = 'budgets' # noinspection PyRedeclaration uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True, unique=True) user_id = Column(GUID(), ForeignKey('users.uuid'), nullable=False) user = relationship('User', backref='budgets') created_on = Column('created_on', sa.types.DateTime(timezone=True), nullable=False)
和 BudgetCategories
class BudgetCategory(db.Model): __tablename__ = 'budget_categories' # noinspection PyRedeclaration uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True, unique=True) budget_id = Column(GUID(), ForeignKey('budgets.uuid'), nullable=False) budget = relationship('Budget', backref='budgetCategories', cascade="all, delete-orphan", single_parent=True) category = Column('category', sa.types.String, nullable=True) parent_category = Column('parent_category', sa.types.String, nullable=True) amount = Column('amount', Numeric(10, 2), nullable=False) recurring = Column('recurring', sa.types.Boolean, nullable=False) created_on = Column('created_on', sa.types.DateTime(timezone=True), nullable=False)
当我生成alembic迁移脚本时
alembic revision --autogenerate -m 'add_budgetCategories_Jan252014'
我明白了
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table('budgets', sa.Column('uuid', UUID(), nullable=False), sa.Column('user_id', UUID(), nullable=False), sa.Column('created_on', sa.DateTime(timezone=True), nullable=False), sa.ForeignKeyConstraint(['user_id'], ['users.uuid'], ), sa.PrimaryKeyConstraint('uuid'), sa.UniqueConstraint('uuid') ) ### end Alembic commands ###
然后我做
alembic revision --autogenerate -m 'add_budgetCategories_Jan252014'
我明白了
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table('budget_categories', sa.Column('uuid', sa.GUID(), nullable=False), sa.Column('budget_id', sa.GUID(), nullable=False), sa.Column('category', sa.String(), nullable=True), sa.Column('parent_category', sa.String(), nullable=True), sa.Column('amount', sa.Numeric(precision=10, scale=2), nullable=False), sa.Column('recurring', sa.Boolean(), nullable=False), sa.Column('created_on', sa.DateTime(timezone=True), nullable=False), sa.ForeignKeyConstraint(['budget_id'], ['budgets.uuid'], ), sa.PrimaryKeyConstraint('uuid'), sa.UniqueConstraint('uuid') ) ### end Alembic commands ###
题
为什么alembic没有生成语法ON CASCADE DELETE
?我想我错过了什么,但不确定是什么?有人可以帮忙吗?