Flask Migrate ondelete Каскад не работает

Я использую колбу мигрировать для создания таблиц в базе данных MySQL. Когда я удаляю запись актива или данных обучения, я хочу, чтобы запись assets_training_data_xref была удалена. Когда я запускаю миграцию, сгенерированные таблицы SQL не имеют "ON DELETE CASCADE". Что я делаю неправильно? Я не планирую использовать код SQLAlchemy для обновления таблицы (просто сырой SQL), в этом проблема?

Вот мои таблицы:

class Assets(db.Model):
    __tablename__ = "assets"
    asset_id = db.Column(db.Integer, primary_key=True)
    asset_name = db.Column(db.String(150), unique=True, nullable=False)
    asset_desc = db.Column(db.Text)

class Training_Data(db.Model):
    __tablename__ = "training_data"
    train_id = db.Column(db.BigInteger, primary_key=True)
    train_desc = db.Column(db.Text)
    train_classification = db.Column(db.Text)
    train_updated = db.Column(db.TIMESTAMP, onupdate=func.utc_timestamp())

class Assets_Training_Data_Xref(db.Model):
    __tablename__ = "assets_training_data_xref"
    fk_asset_id = db.Column(db.ForeignKey("assets.asset_id", 
        ondelete="CASCADE"), primary_key=True, index=True)
    fk_train_id = db.Column(db.ForeignKey("training_data.train_id", 
        ondelete="CASCADE"), primary_key=True, index=True)

0 ответов

Другие вопросы по тегам