python manage.py migrateを実行しているときにエラーが発生した場合、私のデータベースはmigrateコマンドを実行する前と同じ状態のままであることを意味します。djangoの移行に失敗した場合、データベースが変更されますか?
私は、CIシステムの一部として移行を実装しようとしています。移行が失敗した場合、何らかのロールバックを実行する必要があるかどうかを知っておくとよいでしょう。
python manage.py migrateを実行しているときにエラーが発生した場合、私のデータベースはmigrateコマンドを実行する前と同じ状態のままであることを意味します。djangoの移行に失敗した場合、データベースが変更されますか?
私は、CIシステムの一部として移行を実装しようとしています。移行が失敗した場合、何らかのロールバックを実行する必要があるかどうかを知っておくとよいでしょう。
the documentationは、データベースによって異なります。
PostgreSQLはスキーマ変更操作にトランザクションを使用できるため、Djangoはトランザクションを実行し、失敗した場合はロールバックします。しかし、MySQLはこれをサポートしていません。
Mysqlの回避策はありますか? –
たとえば、使用しているDBによって、移行が失敗した場合でもMySQLは変更します。 https://docs.djangoproject.com/en/1.10/topics/migrations/#mysql – Aaron