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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM