Opened 11 years ago
Closed 11 years ago
#23018 closed Bug (duplicate)
on migrate command: ProgrammingError: column "district_id" of relation "data_entry" already exists
| Reported by: | Owned by: | nobody | |
|---|---|---|---|
| Component: | Migrations | Version: | 1.7-rc-1 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Got this error when I tried to run the initial makemigrations command for a project. I had been using South and was following documentation for upgrading to 1.7. Not sure what is happening. I noticed that prior to this error occurring some other index_together requirements had been accomplished successfully. Also it was on its 3rd migrations file for the app ... 001_initial and 002_auto had run successfully. I don't see any way to figure out which line in my models.py this was referencing.
Traceback (most recent call last):
File "C:\Sites\votecruncher\manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python\lib\site-packages\django\core\management\__init__.py", line 385, in execute_from_command_line
utility.execute()
File "C:\Python\lib\site-packages\django\core\management\__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python\lib\site-packages\django\core\management\base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python\lib\site-packages\django\core\management\base.py", line 337, in execute
output = self.handle(*args, **options)
File "C:\Python\lib\site-packages\django\core\management\commands\makemigrations.py", line 115, in handle
self.write_migration_files(changes)
File "C:\Python\lib\site-packages\django\core\management\commands\makemigrations.py", line 131, in write_migration_files
self.stdout.write(" - %s\n" % operation.describe())
File "C:\Python\lib\site-packages\django\db\migrations\operations\models.py",
line 291, in describe
return "Alter %s for %s (%s constraints)" % (self.self.option_name, self.name, len(self.index_together))
AttributeError: 'AlterIndexTogether' object has no attribute 'self'
Change History (3)
comment:1 by , 11 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
comment:2 by , 11 years ago
| Resolution: | duplicate |
|---|---|
| Status: | closed → new |
| Summary: | AttributeError on initial makemigrations: 'AlterIndexTogether' object has no attribute 'self' → on migrate command: ProgrammingError: column "district_id" of relation "data_entry" already exists |
ok. now using stable/1.7.x ... it created the migrations sucessfully. When I went to run migrate, I got the following error:
Operations to perform:
Synchronize unmigrated apps: ckeditor, json_field, debug_toolbar, django_exten
sions, bills, crispy_forms
Apply all migrations: taggit, sessions, admin, sites, auth, blog, rollcalls, c
ontenttypes, members, main, data, geographies
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
Applying contenttypes.0001_initial... FAKED
Applying auth.0001_initial... FAKED
Applying admin.0001_initial... FAKED
Applying blog.0001_initial... FAKED
Applying members.0001_initial... FAKED
Applying rollcalls.0001_initial... FAKED
Applying geographies.0001_initial... FAKED
Applying geographies.0002_auto_20140713_1302... FAKED
Applying members.0002_auto_20140713_1302... FAKED
Applying rollcalls.0002_auto_20140713_1302... FAKED
Applying data.0001_initial... FAKED
Applying data.0002_entry_district...Traceback (most recent call last):
File "C:\Sites\votecruncher\manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\core\management\__init__.py", line 385, in execute_from_command_line
utility.execute()
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\core\management\__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\core\management\base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\core\management\base.py", line 337, in execute
output = self.handle(*args, **options)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\core\management\commands\migrate.py", line 160, in handle
executor.migrate(targets, plan, fake=options.get("fake", False))
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\migrations\executor.py", line 62, in migrate
self.apply_migration(migration, fake=fake)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\migrations\executor.py", line 96, in apply_migration
migration.apply(project_state, schema_editor)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\migrations\migration.py", line 107, in apply
operation.database_forwards(self.app_label, schema_editor, project_state, new_state)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\migrations\
operations\fields.py", line 37, in database_forwards
field,
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\backends\schema.py", line 409, in add_field
self.execute(sql, params)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\backends\schema.py", line 98, in execute
cursor.execute(sql, params)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\backends\utils.py", line 81, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\backends\utils.py", line 65, in execute
return self.cursor.execute(sql, params)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\utils.py",
line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\backends\utils.py", line 65, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: column "district_id" of relation "data_entry"
already exists
The model/field in question:
class Entry(models.Model):
#... other fields
district = models.ForeignKey('geographies.District', null=True, blank=True)
The foreign key is to a model in another app, geographies . Happy to provide additional detail if needed.
The intended behavior is for django to understand that these migrations need to be faked - yes? So I can just fake them manually and move on?
comment:3 by , 11 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Yes, I believe that's the proper solution as documented. If there's more to it, then please reopen or create a new ticket.
Hi,
This looks like a duplicated of #22917 which was fixed in 70576740b0bb5289873f5a9a9a4e1a26b2c330e5.
Can you check if using the latest
1.7.xbranch fixes the issue?Thanks.