[GH-ISSUE #105] 'manage.py migrate' doesn't work with PostgreSQL #88

Closed
opened 2026-02-27 11:10:00 +03:00 by kerem · 2 comments
Owner

Originally created by @tonioo on GitHub (Dec 4, 2013).
Original GitHub issue: https://github.com/modoboa/modoboa/issues/105

Originally assigned to: @tonioo on GitHub.

Originally created by Antoine Nguyen on 2010-11-19T21:40:52Z

./manage.py migrate
Running migrations for lib:
 - Migrating forwards to 0001_initial.
 > lib:0001_initial
 - Loading initial data for lib.
No fixtures found.
Running migrations for admin:
 - Migrating forwards to 0003_auto+add_extension.
 > admin:0001_initial
 > admin:0002_auto+del_field_alias_mbox
 > admin:0003_auto+add_extension
 - Loading initial data for admin.
Installing json fixture 'initial_data' from '/root/repos/hg/modoboa/../
modoboa/admin/fixtures'.
Installed 1 object(s) from 1 fixture(s)
Running migrations for postfix_autoreply:
 - Migrating forwards to 0002_auto+add_armessage+add_arhistoric.
 > postfix_autoreply:0001_initial
 > postfix_autoreply:0002_auto+add_armessage+add_arhistoric
Traceback (most recent call last):
  File "./manage.py", line 11, in 
    execute_manager(settings)
  File "/usr/lib/pymodules/python2.6/django/core/management/
+init+.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/pymodules/python2.6/django/core/management/
+init+.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/pymodules/python2.6/django/core/management/base.py",
line 191, in run_from_argv
    self.execute(*args, **options.+dict+)
  File "/usr/lib/pymodules/python2.6/django/core/management/base.py",
line 220, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/pymodules/python2.6/south/management/commands/
migrate.py", line 102, in handle
    delete_ghosts = delete_ghosts,
  File "/usr/lib/pymodules/python2.6/south/migration/+init+.py",
line 202, in migrate_app
    success = migrator.migrate_many(target, workplan, database)
  File "/usr/lib/pymodules/python2.6/south/migration/migrators.py",
line 215, in migrate_many
    result = migrator.+class+.migrate_many(migrator, target,
migrations, database)
  File "/usr/lib/pymodules/python2.6/south/migration/migrators.py",
line 284, in migrate_many
    result = self.migrate(migration, database)
  File "/usr/lib/pymodules/python2.6/south/migration/migrators.py",
line 121, in migrate
    result = self.run(migration)
  File "/usr/lib/pymodules/python2.6/south/migration/migrators.py",
line 95, in run
    return self.run_migration(migration)
  File "/usr/lib/pymodules/python2.6/south/migration/migrators.py",
line 77, in run_migration
    migration_function()
  File "/usr/lib/pymodules/python2.6/south/migration/migrators.py",
line 56, in 
    return (lambda: direction(orm))
  File "/root/repos/hg/modoboa/../modoboa/extensions/postfix_autoreply/
migrations/0002_auto+add_armessage+add_arhistoric.py", line 19, in
forwards
    ('enabled', self.gf('django.db.models.fields.BooleanField')
(default=False, blank=True))
  File "/usr/lib/pymodules/python2.6/south/db/generic.py", line 210,
in create_table
    ', '.join([col for col in columns if col]),
  File "/usr/lib/pymodules/python2.6/south/db/generic.py", line 134,
in execute
    cursor.execute(sql, params)
  File "/usr/lib/pymodules/python2.6/django/db/backends/
postgresql_psycopg2/base.py", line 44, in execute
    return self.cursor.execute(query, args)
django.db.utils.DatabaseError: transacción abortada, las órdenes serán
ignoradas hasta el fin de bloque de transacción
Originally created by @tonioo on GitHub (Dec 4, 2013). Original GitHub issue: https://github.com/modoboa/modoboa/issues/105 Originally assigned to: @tonioo on GitHub. **Originally created by Antoine Nguyen on 2010-11-19T21:40:52Z** <pre> ./manage.py migrate Running migrations for lib: - Migrating forwards to 0001_initial. > lib:0001_initial - Loading initial data for lib. No fixtures found. Running migrations for admin: - Migrating forwards to 0003_auto+add_extension. > admin:0001_initial > admin:0002_auto+del_field_alias_mbox > admin:0003_auto+add_extension - Loading initial data for admin. Installing json fixture 'initial_data' from '/root/repos/hg/modoboa/../ modoboa/admin/fixtures'. Installed 1 object(s) from 1 fixture(s) Running migrations for postfix_autoreply: - Migrating forwards to 0002_auto+add_armessage+add_arhistoric. > postfix_autoreply:0001_initial > postfix_autoreply:0002_auto+add_armessage+add_arhistoric Traceback (most recent call last): File "./manage.py", line 11, in <module> execute_manager(settings) File "/usr/lib/pymodules/python2.6/django/core/management/ +init+.py", line 438, in execute_manager utility.execute() File "/usr/lib/pymodules/python2.6/django/core/management/ +init+.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/pymodules/python2.6/django/core/management/base.py", line 191, in run_from_argv self.execute(*args, **options.+dict+) File "/usr/lib/pymodules/python2.6/django/core/management/base.py", line 220, in execute output = self.handle(*args, **options) File "/usr/lib/pymodules/python2.6/south/management/commands/ migrate.py", line 102, in handle delete_ghosts = delete_ghosts, File "/usr/lib/pymodules/python2.6/south/migration/+init+.py", line 202, in migrate_app success = migrator.migrate_many(target, workplan, database) File "/usr/lib/pymodules/python2.6/south/migration/migrators.py", line 215, in migrate_many result = migrator.+class+.migrate_many(migrator, target, migrations, database) File "/usr/lib/pymodules/python2.6/south/migration/migrators.py", line 284, in migrate_many result = self.migrate(migration, database) File "/usr/lib/pymodules/python2.6/south/migration/migrators.py", line 121, in migrate result = self.run(migration) File "/usr/lib/pymodules/python2.6/south/migration/migrators.py", line 95, in run return self.run_migration(migration) File "/usr/lib/pymodules/python2.6/south/migration/migrators.py", line 77, in run_migration migration_function() File "/usr/lib/pymodules/python2.6/south/migration/migrators.py", line 56, in <lambda> return (lambda: direction(orm)) File "/root/repos/hg/modoboa/../modoboa/extensions/postfix_autoreply/ migrations/0002_auto+add_armessage+add_arhistoric.py", line 19, in forwards ('enabled', self.gf('django.db.models.fields.BooleanField') (default=False, blank=True)) File "/usr/lib/pymodules/python2.6/south/db/generic.py", line 210, in create_table ', '.join([col for col in columns if col]), File "/usr/lib/pymodules/python2.6/south/db/generic.py", line 134, in execute cursor.execute(sql, params) File "/usr/lib/pymodules/python2.6/django/db/backends/ postgresql_psycopg2/base.py", line 44, in execute return self.cursor.execute(query, args) django.db.utils.DatabaseError: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción </pre>
kerem 2026-02-27 11:10:00 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Antoine Nguyen on 2010-11-22T22:08:17Z

A possible solution could be to avoid the exception generation by testing if tables exist before trying to rename them. There is no native Django or South function to achieve that but maybe this snippet could help:

https://gist.github.com/527113/307c2dec09ceeb647b8fa1d6d49591f3352cb034

<!-- gh-comment-id:29813513 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Antoine Nguyen on 2010-11-22T22:08:17Z** A possible solution could be to avoid the exception generation by testing if tables exist before trying to rename them. There is no native Django or South function to achieve that but maybe this snippet could help: https://gist.github.com/527113/307c2dec09ceeb647b8fa1d6d49591f3352cb034
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Antoine Nguyen on 2010-11-23T08:18:35Z

Fixed in [63f2365936c3]

This solution is working pretty well.

<!-- gh-comment-id:29813515 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Antoine Nguyen on 2010-11-23T08:18:35Z** Fixed in [63f2365936c3] This solution is working pretty well.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/modoboa-modoboa#88
No description provided.