django manage.py migrate 生成了django_migrations 但是model表缺未生成
问题描述
执行 python manage.py migrate
运行成功且不报错信息,在数据库中出现了 django_migrations
表,但是自定义的model表却未生成
问题出现的环境背景及自己尝试过哪些方法
尝试删除 django_migrations
表和 app 内的 migrations 文件,重新执行生成,结果还是与上述的一样。。
相关代码
django工程内配置了两个mysql数据库,并且已设置了路由到指定APP,
配置如下:
DATABASES = { 'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'gbh', # 你的数据库名称 数据库需要自己提前建好
'USER': 'root', # 你的数据库用户名
'PASSWORD': 'xxx', # 你的数据库密码
'HOST': '192.168.1.216', # 你的数据库主机,留空默认为localhost
'PORT': '3306', # 你的数据库端口
'OPTIONS': {'init_command':'SET sql_mode="STRICT_TRANS_TABLES",storage_engine=INNODB;'}
},
'gbh': { # 配置第二个数据库节点名称
'ENGINE': 'django.db.backends.mysql',
'NAME': 'gbh_info', # 你的数据库名称 数据库需要自己提前建好
'USER': 'user', # 你的数据库用户名
'PASSWORD': 'xxx', # 你的数据库密码
'HOST': '192.168.1.216', # 你的数据库主机,留空默认为localhost
'PORT': '3306', # 你的数据库端口
'OPTIONS': {'init_command':'SET sql_mode="STRICT_TRANS_TABLES",storage_engine=INNODB;'}
},
}
# 数据库路由规则
DATABASE_ROUTERS = ['WechatServer.database_router.DatabaseAppsRouter']
DATABASE_APPS_MAPPING = {
'apps.gbh_wechat_api': 'gbh',
'apps.info_binding': 'default',
}
app model表
from django.db import models# Create your models here.class
class api(models.Model):
id = models.AutoField(primary_key=True) # 随机生成的ID
test = models.CharField(max_length=10, null=True, default=None)
migrations 已生成
# Generated by Django 3.0.4 on 2020-03-30 16:51from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='api',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('test', models.CharField(default=None, max_length=10, null=True)),
],
),
]
你期待的结果是什么?实际看到的错误信息又是什么?
预期是成功在数据库内生成 api
表, 有经验的老铁看下,找了几个小时了,翻遍了文章也没找到问题所在
回答:
python3 manage.py makemigrations
有没有先执行生成迁移文件的命令呢?
以上是 django manage.py migrate 生成了django_migrations 但是model表缺未生成 的全部内容, 来源链接: utcz.com/a/156915.html