我正在玩 Django South,并且对它的功能印象深刻,但是在进行一些迁移的过程中,我设法做一些在迁移过程中导致错误的事情。诸如在数据迁移文件中出现语法错误或运行时异常、决定我不想实际做某事以及在迁移期间按 ctrl-c 并过早中止等事情。
我使用 MySQL 作为数据库后端。当 South 出现问题时,我是否需要担心数据库的完整性?事务是否确保所有问题都因错误而回滚?
我正在玩 Django South,并且对它的功能印象深刻,但是在进行一些迁移的过程中,我设法做一些在迁移过程中导致错误的事情。诸如在数据迁移文件中出现语法错误或运行时异常、决定我不想实际做某事以及在迁移期间按 ctrl-c 并过早中止等事情。
我使用 MySQL 作为数据库后端。当 South 出现问题时,我是否需要担心数据库的完整性?事务是否确保所有问题都因错误而回滚?
数据库应该很好地回滚:
http://south.aeracode.org/docs/migrationstructure.html#transactions
无论如何,你不能只检查数据库表吗?
几点注意事项:
您可以打印现有的迁移
manage.py 迁移 --list
这也显示了已应用的迁移
您还可以使用手动回滚到以前的迁移
manage.py 迁移 <app_name> 0010
其中 10 是最后一次安全迁移
希望这可以帮助