重建Django开发服务器数据库

时间:2016-02-22 08:50:27

标签: python mysql django

我正在尝试重置我的django数据库,因此我运行manage.py sqlflush并在MySQL中运行该输出。

我然后运行manage.py flush。我认为这应该清除一切。

我然后运行manage.py makemigrations,它似乎识别了所有需要构建的表格,但是当我运行manage.py migrate时,它表示不需要做什么,所以我现在没有任何表格我运行我的应用程序时的表格。

2 个答案:

答案 0 :(得分:2)

根据documentationsqlflush命令:

  

打印将为flush命令执行的SQL语句。

例如,在新创建的项目上运行sqlflush命令会输出:

DELETE FROM "auth_user_user_permissions";
DELETE FROM "auth_group_permissions";
DELETE FROM "auth_permission";
DELETE FROM "auth_user_groups";
DELETE FROM "auth_user";
DELETE FROM "django_admin_log";
DELETE FROM "django_content_type";
DELETE FROM "auth_group";
DELETE FROM "django_session";

但这实际上并没有删除数据库表。要删除表,您需要运行命令:

python manage.py dbshell

然后,您需要在该shell中运行sqlflush的输出。

答案 1 :(得分:1)

您应该删除应用文件夹中的migrations文件夹。您还应该删除数据库文件(如果有的话)(对于SQLite,根项目文件夹中有一个名为db.sqlite3的文件,但我不确定这对MySQL是如何工作的)。然后运行makemigrationsmigrate