tulsawebdevs / django-multi-gtfs

Django app to import and export General Transit Feed Specification (GTFS)
http://tulsawebdevs.org/
Apache License 2.0
50 stars 32 forks source link

Migration error #19

Closed araichev closed 10 years ago

araichev commented 10 years ago

I switched to GeoDjango, upgraded multigtfs via pip on my local machine, ran the multigtfs database migrations, and all is well. Then i tried to do the same thing on my remote machine but with a fresh PostGIS database and ran into errors.

More specifically, i got the following error. Any ideas about what i'm doing wrong?

Thanks.

$ python manage.py migrate multigtfs
Running migrations for multigtfs:
 - Migrating forwards to 0010_initial.
 > multigtfs:0001_initial
 > multigtfs:0002_auto__chg_field_fare_transfers
 > multigtfs:0003_convert_fare_transfers
 > multigtfs:0004_auto_add_geopoint_fields
 > multigtfs:0004_initial
FATAL ERROR - The following SQL query failed: CREATE TABLE "agency" ("id" serial NOT NULL PRIMARY KEY, "feed_id" integer NOT NULL, "agency_id" varchar(255) NOT NULL, "name" varchar(255) NOT NULL, "url" varchar(200) NOT NULL, "timezone" varchar(255) NOT NULL, "lang" varchar(2) NOT NULL, "phone" varchar(255) NOT NULL, "fare_url" varchar(200) NOT NULL)
The error was: relation "agency" already exists

Error in migration: multigtfs:0004_initial
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/home/araichev/lib/python2.7/south/management/commands/migrate.py", line 111, in handle
    ignore_ghosts = ignore_ghosts,
  File "/home/araichev/lib/python2.7/south/migration/__init__.py", line 220, in migrate_app
    success = migrator.migrate_many(target, workplan, database)
  File "/home/araichev/lib/python2.7/south/migration/migrators.py", line 232, in migrate_many
    result = migrator.__class__.migrate_many(migrator, target, migrations, database)
  File "/home/araichev/lib/python2.7/south/migration/migrators.py", line 307, in migrate_many
    result = self.migrate(migration, database)
  File "/home/araichev/lib/python2.7/south/migration/migrators.py", line 132, in migrate
    result = self.run(migration, database)
  File "/home/araichev/lib/python2.7/south/migration/migrators.py", line 116, in run
    return self.run_migration(migration, database)
  File "/home/araichev/lib/python2.7/south/migration/migrators.py", line 86, in run_migration
    migration_function()
  File "/home/araichev/lib/python2.7/south/migration/migrators.py", line 62, in <lambda>
    return (lambda: direction(orm))
  File "/home/araichev/lib/python2.7/multigtfs/migrations/0004_initial.py", line 21, in forwards
    ('fare_url', self.gf('django.db.models.fields.URLField')(max_length=200, blank=True)),
  File "/home/araichev/lib/python2.7/south/db/generic.py", line 47, in _cache_clear
    return func(self, table, *args, **opts)
  File "/home/araichev/lib/python2.7/south/db/generic.py", line 361, in create_table
    "columns": ', '.join([col for col in columns if col]),
  File "/home/araichev/lib/python2.7/south/db/generic.py", line 282, in execute
    cursor.execute(sql, params)
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/araichev/webapps/gtfs_explorer_1/lib/python2.7/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "agency" already exists
jwhitlock commented 10 years ago

There's no 0004_initial migration in multigtfs. Is this left over from a ./manage.py schema migration --initial? You may need to delete /home/araichev/lib/python2.7/multigtfs/migrations/0004_initial.py and /home/araichev/lib/python2.7/multigtfs/migrations/0004_initial.pyc.

araichev commented 10 years ago

Ah, that fixed it. Somehow /home/araichev/lib/python2.7/multigtfs/migrations/ got polluted with a bunch of *_initial.py* files after upgrading via pip install multigtfs --upgrade.