No migrations to apply. django同步数据库失败

django2 同步数据库  
# app models python manage.py makemigrations your_app_name python manage.py migrate your_app_name # django models python manage.py makemigrations python manage.py migrate

 

有时同步app models时,新的修改, 无法通道到数据库中。

No migrations to apply.

方案1:

  将数据库表全部删除, 重新同步。[略]

方案2:

  修改your_app_name/migrations/0001_initial.py 或其它文件

  将其中与新的修改相关的代码删除,重新makemigrations、migrate

 

如新添加了一个数据库表TabAuthority

initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='TabAuthority',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('Name', models.CharField(max_length=64, verbose_name='权限名称')),
                ('ColName', models.CharField(max_length=64, null=True, verbose_name='列名')),
                ('Desc', models.CharField(max_length=64, null=True, verbose_name='权限描述')),
            ],
            options={
                'verbose_name': '权限',
                'verbose_name_plural': '权限',
            },
        ),
        migrations.CreateModel(
            name='BVTBlackWhiteList',
.....

将其中标红的代码删除, 然后运行

python manage.py makemigrations your_app_name
python manage.py migrate your_app_name

完毕 !!!

 

其实这时候再次运行

python manage.py makemigrations your_app_name

,会在migrations目录下生成一个新的py文件,该文件中包含有刚才删除的代码TabAuthority

 

posted @ 2018-12-13 16:55  菩提树~今生  阅读(1542)  评论(2编辑  收藏  举报