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

本文详细介绍了当Django应用在进行数据库同步时遇到新修改无法生效的问题时的两种解决方案:一是彻底清除数据库并重新同步;二是修改迁移文件,删除与新修改相关的代码,再重新执行makemigrations和migrate命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

转载于:https://www.cnblogs.com/baigoogledu/p/10115014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值