在我的生產服務器上,我意外刪除了我的一個應用程序中的遷移目錄。多個人在應用程序上工作,所以在製作應用程序時,我們所做的是在不進行本地任何遷移的情況下推進我們的模型更改,而是在生產服務器上進行遷移並遷移到那裏。我們這樣做是因爲我們過去曾經有過遷移合併問題,並認爲這可能是一個很好的解決方案。由於沒有遷移文件夾的本地副本,我擔心它永遠消失了。我的問題是這個。我可以訪問Webfaction中的phpPgAdmin,並且該數據庫有一個django_migrations表。我認爲一種解決方案是找到最新的遷移,例如說0009_migration.py,而不是簡單地重新命名一個新的遷移文件0010_migration.py用於我的下一次遷移,如果我將來在該應用程序中進行任何模型更改。這樣我就可以簡單地運行遷移,並且只會考慮遷移它尚未運行的0010_migration.py。但出於好奇,是否有一些命令會查看你的PostgreSQL數據庫,並從它在django_migrations表中存儲的遷移記錄在你的應用程序遷移目錄中創建遷移文件?恢復已刪除的Django遷移
我想一個簡單的方法來問這是「有沒有辦法進行反向工程django_migrations錶行到migrations.py文件?」這是一個django_migration錶行我有PostgreSQL和我的形象會希望文件看起來像,只是用不同的命令。
Django的遷移
class Migration(migrations.Migration):
dependencies = [
('portfolio', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='project',
name='contact_form',
field=models.BooleanField(default=False),
),
]
PostgreSQL的django_migrations錶行
說真的,將來不要這樣做。遷移是您的代碼庫的一部分,需要進行版本控制。 –
我同意丹尼爾,它是我們黑暗過去的一部分,我們都從我們的錯誤中吸取教訓,在這種情況下,它仍然受到它的困擾。 – JBT