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