Python Django:迁移成功但未创建新表

Python Django:迁移成功但未创建新表,python,mysql,django,Python,Mysql,Django,我一直在使用django迁移来处理数据库。最近,我把课时分为两部分,一部分用于阅读,另一部分用于写作。完成后,我创建了新的迁移文件,添加了新表并运行它。成功了, Operations to perform: Apply all migrations: food Running migrations: Applying food.0107_auto_20171116_0849... OK 然而,当我使用shell检查mysql数据库时,并没有新表。我删除了django迁移历史记录并尝试了几次,但

我一直在使用django迁移来处理数据库。最近,我把课时分为两部分,一部分用于阅读,另一部分用于写作。完成后,我创建了新的迁移文件,添加了新表并运行它。成功了,

Operations to perform:
Apply all migrations: food
Running migrations:
Applying food.0107_auto_20171116_0849... OK
然而,当我使用shell检查mysql数据库时,并没有新表。我删除了django迁移历史记录并尝试了几次,但结果是一样的。它说已经应用了迁移,但没有新的表。这是我的迁移文件

# -*- coding: utf-8 -*-
# Generated by Django 1.11.2 on 2017-11-16 08:49
from __future__ import unicode_literals

from django.db import migrations, models
import uuid


class Migration(migrations.Migration):

    dependencies = [
        ('bubi', '0106_auto_20171110_1452'),
    ]

    operations = [
        migrations.CreateModel(
           name='FoodHistory',
              fields=[
                  ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
                  ('date', models.DateField(verbose_name='updated date')),
        ],
        options={
            'verbose_name': 'food updated date',
            'verbose_name_plural': 'food updated date',
        },
    ),
]
我想知道拆分的会话是否会影响迁移。谢谢

编辑

我添加了我的本地设置.py

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'food',
    'HOST': '127.0.0.1',
    'USER': 'apple',
    'PASSWORD': 'apple'
},
'read': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'food',
    'HOST': '127.0.0.1',
    'USER': 'apple',
    'PASSWORD': 'apple'
},
'write': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'food',
    'HOST': '127.0.0.1',
    'USER': 'apple',
    'PASSWORD': 'apple'
}
}

您应该设置数据库名称以迁移其他数据库:

./manage.py migrate --database=write

如果在Django中使用多个数据库,那么在迁移时,需要检查编码的数据库路由器

在数据库路由器类中检查“allow_migrate”方法

这是关于这个问题的Django官方文档


您确定连接到了正确的数据库吗?你在项目目录中看到名为
db.sqlite3
的文件了吗?@chris我添加了我的本地设置.py,我不使用db.sqlite3,我使用mysql。我知道你在尝试使用mysql。我想知道它是否真的是这样运作的。
python manage.py sqlmigrate food 0107提供了什么?@chris it说
运行迁移:应用bubi.0107\u auto\u 20171116\u 0849。。。好的
但是没有一个表不是我要问的输出。这是为
迁移
;我问的是
sqlmigrate
。它应该输出一些SQL代码。最后,问题解决了。我添加了
allow_migrate
并使其
返回食物
,现在它可以工作了。