SQL数据库。我放了一张桌子,我现在怎么创建呢?

时间:2018-03-16 09:08:51

标签: django sqlite

要删除表,我使用了该命令:

python manage.py dbshell
.tables
DROP TABLE table_what_i_drop;

然后我尝试了:

python manage.py makemigrations

python manage.py migrate

但是表格没有创建。

我从所有应用和dbsqlite3文件中删除了迁移文件夹,并再次尝试makemigrationsmigrate,但未创建数据库。现在,当我尝试:

python manage.py dbshel​​l .tables

我的任何应用都没有表格。我知道丢失表是我的错,但我如何从一开始就建立所有数据库?

1 个答案:

答案 0 :(得分:0)

迁移有两个步骤 - 进行迁移和迁移。

makemigrations 根据数据库更改创建迁移文件。

迁移运行迁移并更改数据库。它还记录了表中运行的迁移:

django_migrations

您删除了迁移文件夹,但django迁移中仍会有一个条目表明您以前的迁移已经运行。

所以要解决这个问题,请转到django_migrations表并删除与您的应用相关的条目(还会有Django表的条目,例如auth和contenttypes,所以不要删除它们)

(或者只是删除整个sqllite数据库并从头开始,如果你不介意丢失数据库中的数据)