无法在Heroku上使用South迁移Django应用程序

时间:2012-04-13 15:51:05

标签: python django heroku

我在我现有的Django应用程序上安装了South。这个Django应用程序也在Heroku上。

不对模型进行任何更改,我在本地完成了以下命令:

  • manage.py schemamigration app_name --initial
  • manage.py migrate --fake

然后我试图推动heroku master,然后迁移到那里。但我收到以下内容:

Running migrations for app_name:
- Nothing to migrate.
  - Loading initial data for notecards.
No fixtures found

如果我试图伪造Heroku迁移,我会收到相同的消息。

我想,这可能没问题,因为从技术上来说,没有什么可以迁移,因为数据库保持不变。

所以我对其中一个模型进行了一些小改动,并做了以下工作:

  • manage.py schemamigration app_name --auto
  • manage.py migrate

然后我推到Heroku并尝试迁移到那里,我仍然收到以下内容:

Running migrations for app_name:
- Nothing to migrate.
  - Loading initial data for notecards.
No fixtures found

对我做错的任何帮助都会很棒。感谢。

1 个答案:

答案 0 :(得分:-1)

对于遇到此问题的任何其他人,以及我自己的参考。感谢Chris Pratt让我走上正轨。

这解决了:

本地:

以递归方式删除任何旧迁移git rm -r migrations

刷新旧数据库(这会删除所有数据,但对我来说这不是问题)manage.py flush

删除app文件夹中的迁移文件夹

运行初始架构移民manage.py schemamigration --initial

运行虚假迁移manage.py migrate --fake

推送heroku master

On Heroku:

迁移heroku run python manage.py migrate app_name

然后,在本地,您可以运行migrate --auto,push to heroku,并运行migrate app_name