Django 2 migrate不是在MySql中创建表吗?
我正在使用django和mysql。当我在第一次创建一些模型后进行迁移时,它会正确地在数据库中创建所有表,但在迁移成功后,当我进行一些更改或创建新模型时,它不会在数据库中创建新表,即使它说迁移成功。我总是执行Django 2 migrate不是在MySql中创建表吗?,mysql,django,migration,Mysql,Django,Migration,我正在使用django和mysql。当我在第一次创建一些模型后进行迁移时,它会正确地在数据库中创建所有表,但在迁移成功后,当我进行一些更改或创建新模型时,它不会在数据库中创建新表,即使它说迁移成功。我总是执行python manage.py makemigrations然后python manage.py migrate在模型中做了一些更改之后。我删除了所有的migration并运行python manage.py makemigrations它显示了我在models.py中创建的所有模型,但在
python manage.py makemigrations
然后python manage.py migrate
在模型中做了一些更改之后。我删除了所有的migration
并运行python manage.py makemigrations
它显示了我在models.py
中创建的所有模型,但在migrate
之后,它不会创建新表。我甚至在makemigrations
之后尝试了python manage.py migrate--fake APPNAME
和python manage.py migrate
但数据库中什么也没有发生。但是当我删除整个数据库并创建新数据库时,它会创建所有表,但我不想在之后删除整个数据库每次都会进行一些更改或创建新模型
设置.py
您是否通过在
makemigrations
之后添加appname
来尝试该命令?是否在运行migrate之前在已安装的应用列表中添加该应用?因为它一直对我有效。我已经做过很多次了,此外,您还需要提供模型和设置,以找出问题的确切原因is@AmartyaGaur我在已安装的应用程序列表中有应用程序名称。当我删除整个数据库并重新创建它时,它将创建table@ans2human我尝试在makemigrations
之后添加python manage.py migrate appname
您还可以发布输出屏幕截图以及您正在做的事情,因为您的方法到目前为止似乎没有错误,理论上应该是可行的,@ans2human谈论的是命令:python manage.py makemigrations appname
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name',
'USER': 'root',
'PASSWORD': '',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}