私はdjango 1.8でいくつかのマイグレーションの問題があり、毎回DBテーブルを手動で削除することで回避する必要があります。Djangoのマイグレーションが常に機能するとは限りません
私の問題は、以下の通りです - たびに私は新しいフィールドを追加し、それは何も変更が適用されないために言う
python manage.py makemigrations
python manage.py migrate
を実行して、私のテーブルを変更した後。最後のテーブルに
(それは私がモデルファイルの変更を拾っていない)
(フォルダが空の移行)は、古い構造になったままで、私がテストしたときに、それは私にエラーが発生します。
DBにテーブルを直接ドロップして再起動すると、毎回テストデータを再作成する必要があるので、面倒です。
移行のバグですか、私だけですか?
たとえば、これはモデルファイルのテーブルですが、以前は他のテーブルで発生していました。
@with_author
class BOM(models.Model):
name = models.CharField(max_length=200,null=True, blank=True)
description = models.TextField(null=True, blank=True)
product= models.ForeignKey(Product, on_delete=models.PROTECT)
material = models.OneToOneField(Material, related_name = 'material')
creation_time = models.DateTimeField(auto_now_add=True)
materialuom = models.CharField(max_length=1,
choices=UOM_CHOICES)
quantity = models.DecimalField(max_digits=19, decimal_places=10)
waste = models.DecimalField(null=True, blank=True,max_digits=19, decimal_places=10)
def __unicode__(self):
return u'%s %s' % (self.id, self.name)
使用している 'with_author'デコレータに問題がありますか? – Alasdair
あなたは 'python manage.py makemigrations appname'を試しましたか? – ahmed
@ahmed私はアプリ名で試してみましたが、それをピックアップしましたが、テーブルを落としたときからすでにテーブルが存在していて、django migrate端末に何も書き込まずに再作成してから混乱が生じました。私の印象は、移行のバグです。 –