2016-02-29 55 views
4

这是我的Django迁移文件。 当我运行时Django表已存在

python manage.py makemigrations/migrate 

我得到这个错误。

Error:- 

    django.db.utils.OperationalError: (1050, "Table 'tickets_duration' already exists") 

我放弃了数据库并运行它,但仍然得到相同的错误。

class Migration(migrations.Migration): 

    dependencies = [ 
    ] 

    operations = [ 
     migrations.CreateModel(
      name='Duration', 
      fields=[ 
       ('Id', models.UUIDField(primary_key=True, db_column=b'duration_id', default=uuid.uuid4, serialize=False, editable=False)), 
       ('duration', models.CharField(max_length=200, db_column=b'duration')), 
      ], 
     ), 
     migrations.CreateModel(
      name='ErrorCount', 
      fields=[ 
       ('Id', models.UUIDField(primary_key=True, db_column=b'error_id', default=uuid.uuid4, serialize=False, editable=False)), 
       ('error', models.CharField(max_length=200, db_column=b'error')), 
      ], 
     ), 
     migrations.CreateModel(
      name='OutageCaused', 
      fields=[ 
       ('Id', models.UUIDField(primary_key=True, db_column=b'error_id', default=uuid.uuid4, serialize=False, editable=False)), 
       ('outage_caused', models.CharField(max_length=200, db_column=b'outage_caused')), 
      ], 
     ), 
     migrations.CreateModel(
      name='Pg', 
      fields=[ 
       ('Id', models.UUIDField(primary_key=True, db_column=b'pg_id', default=uuid.uuid4, serialize=False, editable=False)), 
       ('pg_cd', models.CharField(max_length=200, db_column=b'pg_cd')), 
      ], 
     ), 
     migrations.CreateModel(
      name='SystemCaused', 
      fields=[ 
       ('Id', models.UUIDField(primary_key=True, db_column=b'error_id', default=uuid.uuid4, serialize=False, editable=False)), 
       ('system_caused', models.CharField(max_length=200, db_column=b'system_caused')), 
      ], 
     ), 
     migrations.CreateModel(
      name='Tickets', 
      fields=[ 
       ('ticket_num', models.CharField(max_length=100, serialize=False, primary_key=True, db_column=b'ticket_id')), 
       ('created_dt', models.DateTimeField(db_column=b'created_dt')), 
       ('ticket_type', models.CharField(max_length=20, db_column=b'ticket_type')), 
       ('addt_notes', models.CharField(max_length=1000, db_column=b'addt_notes')), 
       ('row_create_ts', models.DateTimeField(default=datetime.datetime(2016, 2, 29, 16, 58, 31, 584733))), 
       ('row_end_ts', models.DateTimeField(default=b'9999-12-31 00:00:00.00000-00', db_column=b'row_end_ts')), 
       ('duration', models.ManyToManyField(to='tickets.Duration')), 
       ('error_count', models.ManyToManyField(to='tickets.ErrorCount')), 
       ('outage_caused', models.ManyToManyField(to='tickets.OutageCaused')), 
+0

只是为了确保:即使你运行'manage.py migrate'上你得到这个错误一个*空*数据库? – Risadinha

回答

1

临时解决方案可能会对创建现有表(tickets_duration)进行注释。

class Migration(migrations.Migration): 

    dependencies = [ 
    ] 

    operations = [ 
     #migrations.CreateModel(
     # name='Duration', 
     # fields=[ 
     #  ('Id', models.UUIDField(primary_key=True, db_column=b'duration_id', default=uuid.uuid4, serialize=False, editable=False)), 
     #  ('duration', models.CharField(max_length=200, db_column=b'duration')), 
     # ], 
     #), 
     .... 
     .... 
1

这个问题已经回答here

您应该运行这个命令:

python manage.py migrate --fake <appname>