2017-09-29 18 views
0

を移行しなかった1.10Djangoのデータベースは、私はDjangoの使用

学校/ models.py私が移行ファイルを最初に削除eng_name = models.CharField(max_length=50,null=False)

を追加することによって、学校のクラスを変更し

class School(models.Model): 
    name = models.CharField(max_length=10,null=False) 
    school_id = models.CharField(max_length=8,null=False) 
    weather = models.ForeignKey(Weather,related_name="school") 

そして、コマンド実行後に

migrateため

python manage.py makemigrations school

python manage.py migrate --fake-initial school

python manage.py migrate school

メッセージの両方が

Operations to perform: 
    Apply all migrations: school 
Running migrations: 
    No migrations to apply. 

しかしありますデータベースが更新されませんでした。

この問題の原因としては、どのようなものが考えられますか?

UPDATAE

移行/ 0001_initial.py

class Migration(migrations.Migration): 

initial = True 

dependencies = [ 
    ('weather', '0001_initial'), 
] 

operations = [ 
    migrations.CreateModel(
     name='School', 
     fields=[ 
      ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 
      ('name', models.CharField(max_length=10)), 
      ('eng_name', models.CharField(max_length=50)), 
      ('school_id', models.CharField(max_length=8)), 
      ('weather', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='school', to='weather.Weather')), 
     ], 
    ), 
] 

python manage.py showmigrations --plan

[X] weather.0001_initial

school.0001_initial [X]

これらはどちらも最新の移行です。

+2

移行ファイルを表示できますか? –

+0

はsettings.pyファイルにアプリとして追加されましたか? –

+0

は多分あなたの偽のそれは、 'Pythonが--list' –

答えて

0

Djangoは(適用され、ID、アプリ名)のカラムを持つテーブル(django_migrations)としてデータベースに適用されたマイグレーションを記憶しています。 「学校」アプリの初期移行が適用されている行を削除してから移行してください。そして、将来、古いトランザクションファイルを削除しないでください。それらを使用すると、djangoは適切な名前のトランザクションを作成して、移行メカニズムを作成します。

+0

最後に、私はMysqlサーバーに列を作成しました。 。 –

関連する問題