1

我已经在我现有的 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

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

4

1 回答 1

-1

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

这是通过以下方式解决的:

本地:

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

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

删除应用文件夹中的迁移文件夹

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

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

推heroku大师

在 Heroku 上:

迁移heroku run python manage.py migrate app_name

然后,在本地,您可以运行 migrate --auto,推送到 heroku,然后运行 ​​migrate app_name

于 2012-05-01T16:17:48.573 回答