2015-08-23 4 views
1

Я использую Flask-SQLAlchemy с базой данных MySQL, используя механизм InnoDB, который поддерживает ondelete и onupdate.SQLAlchemy ondelete и onupdate не обновляют базу данных

У меня есть следующие в моей таблице «Записи», который относится к Accounts таблице:

account_id = db.Column(db.Integer, db.ForeignKey('accounts.id', onupdate="CASCADE", ondelete="CASCADE")) 

Я обновил базу данных с помощью колбовую Migrate (перегонный куб), и я заметил, что OnUpdate и OnDelete значений не изменяются, когда я указываю onupdate="CASCADE", ondelete="CASCADE", хотя он и говорит, что я должен использовать его как в SQLAlchemy Documentation

В чем может быть проблема? Благодарю.

ответ

2

Причина, по которой значения ondelete и onupdate не обновляются, поскольку они не могут быть изменены, если есть уже этот внешний ключ.

Чтобы изменить его, мне пришлось удалить внешний ключ из таблицы, обновить базу данных, а затем снова добавить ее в таблицу со значениями, которые вы хотите, а затем обновить еще раз.

Смежные вопросы