已删除的Django迁移文件夹

3

我不小心删除了所有应用程序的迁移文件夹,包括__init__.py。有没有办法重置或恢复这些文件夹?谢谢!


你的意思是“undelete”(恢复删除)吗? - Brown Bear
1
创建一个新的数据库,然后再次运行 makemigrationsmigrate 命令。 - ishita sharma
2
保持整个项目(包括迁移)备份并进行版本控制(例如git)是个好主意,以防止出现此类问题。 如果您没有使用版本控制并且没有备份,则恢复文件可能会很困难或不可能。 这取决于您的操作系统,并不适合在Stack Overflow上提问。 - Alasdair
可能会对您有所帮助 https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html - Druta Ruslan
1个回答

12

只需再次创建migrations文件夹,然后创建__init__.py文件。之后运行manage.py makemigrations


4
请注意,这些迁移可能与原始迁移不同,因此您的数据库和迁移文件可能会失去同步。如果您正在开发并且数据库中没有重要数据,那么最简单的方法可能是删除数据库并在创建新迁移后运行manage.py migrate - Alasdair
就像@Alasdair所说的那样,迁移将会有所不同,也许最好的解决方案是首先处理那些没有外键的更外部模型,否则可能会出现问题(我以前遇到过这个问题)。 - Diego Vinícius
你好!我本来考虑重新开始应用程序,但幸运的是,更改已经保存在git中,所以我能够恢复丢失的迁移文件。谢谢!将来我会把这个作为参考。 - Jason

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接