Что делать если SAVEPOINT LEVEL1 does not exist?

10.09.2015

Так что же делать если в один из прекрасных дней мы получили ошибку:

1305 SAVEPOINT LEVEL1 does not exist
The SQL being executed was:
RELEASE SAVEPOINT LEVEL1 and rollBack thisException:
Failed to commit transaction: transaction was inactive.

Все это дело появляется при накатывании миграции yii2. Почему? Потому что скорее всего миграция была сгенерирована через какой-нибудь генератор миграций. Даже скорее всего через пакет:

"insolita/yii2-migration-generator": "*"

Поэтому чтобы не нервничать, достаточно переименовать функции "safeUp" и "safeDown" в "up" и "down". Лично такой подход мне помог. И вообще не понятно, зачем генератор такое генерирует. Но в принципе решение проблемы есть, так что можно генерировать миграции дальше, если конечно мы не пишем их ручками:)

Правильная функция миграции up

Правильная функция миграции down

comments powered by HyperComments