看这个:
(venv) backend > heroku run ./manage.py makemigrations blog
› Warning: heroku update available from 7.19.4 to 7.26.2
Running ./manage.py makemigrations blog on ⬢ webstation... up, run.1553 (Free)
Migrations for 'blog':
blog/migrations/0001_initial.py
- Create model BlogPage
- Create model BlogPageTag
- Create model BlogPageViews
- Add field tags to blogpage
和
(venv) backend > heroku run ls blog
› Warning: heroku update available from 7.19.4 to 7.26.2
Running ls blog on ⬢ webstation... up, run.4984 (Free)
admin.py apps.py code_block.py __init__.py models.py __pycache__ tests.py views.py wagtail_hooks.py
首先,说迁移已创建,并且博客内有一个迁移目录,其次,“迁移”目录不存在。
我已经多次运行“ makemigrations”,并且始终运行该命令,但从未创建目录。
答案 0 :(得分:3)
这是预期的行为。 Heroku有一个ephemeral filesystem-在dyno重新启动时,在dyno操作期间创建的所有文件都会被删除(在您每次重新连接到dyno时都是免费的dyno)。这就是您所看到的-每次重新连接到dyno时,文件都会被删除。
您不应该尝试在heroku上进行迁移。您需要在本地进行这些迁移,提交它们,然后将这些迁移推送到heroku的git存储库。
然后,您可以在heroku上运行迁移,因为文件将持久存在。
同样,您需要在dyno上持久保存的所有其他文件也需要在回购中提交(或在buildpack中编译)。