django 迁移 - 重新创建数据库

django migration - re-creating the database

我是 运行ning python 2.7 和 django 1.8。

I have this exact issue.

作为评论发布的答案是:What I did is completely remake the db, erase the migration history and folders.

我很不确定删除和创建数据库。

我正在 运行安装 PostgreSQL 数据库。如果我 drop/delete 数据库然后 运行 迁移,数据库是否会从迁移中重建?我不想删除数据库然后陷入更糟糕的情况。

以下是我为解决此问题所做的工作:

首先把数据做一个脚本,这样当数据库销毁重建的时候,可以很方便的重建数据。

接下来运行以下脚本重置数据库(这将删除所有数据库数据并删除数据库表)。

然后运行以下脚本重新创建数据库:

python manage.py reset_db

然后,运行以下脚本重新创建数据库:

python manage.py migrate

接下来,运行 创建数据库数据的脚本。

最后,运行以下脚本启动服务器:

python manage.py runserver

就是这样。

我希望这对那里的人有所帮助。

事实上没有必要这样做,但为了确保您做对了,请考虑以下事项:

  1. 确保您的数据库在迁移过程中未被进程或您的应用程序访问(写入)。我遇到了很多麻烦。

  2. 如果您的服务器是 运行,请确保将其关闭。当服务器处于 运行 时,有一些问题会阻止迁移或更新结果,特别是在生产模式下。

  3. 如果在开发模式下迁移后在生产中迁移,请确保没有来自开发的文件。它们的名称相似,因此系统会抛出有关迁移已存在的错误。

  4. 记住默认值。如果您正在迁移以在预先存在的 table 中包含新列,则必须提供默认值以填充新列中的这些行。