modoboa/modoboa-pfxadmin-migrate

django.db.utils.IntegrityError: (1048, "Column 'creation' cannot be null")

cerw opened this issue · 11 comments

cerw commented

When I run it i get this for first domain ?

Which version of Modoboa do you use?

cerw commented

1.6.1

cerw commented

@tonioo sorry for late response, did not get email abotu it :(

@cerw Could you paste the full trace please ?

cerw commented
root@modoboa:/srv/modoboa/instance# /srv/modoboa/env/bin/python manage.py  migrate_from_postfixadmin -s crypt

Migrating domain allcom.com.au
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 288, in handle
    self._do_migration(options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 278, in _do_migration
    self._migrate_domain(pf_domain, options, creator)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 194, in _migrate_domain
    newdom.dates = self._migrate_dates(pf_domain)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 97, in _migrate_dates
    dates.save()
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 708, in save
    force_update=force_update, update_fields=update_fields)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 736, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 801, in _save_table
    forced_update)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 851, in _do_update
    return filtered._update(values) > 0
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 645, in _update
    return query.get_compiler(self.db).execute_sql(CURSOR)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1149, in execute_sql
    cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 848, in execute_sql
    cursor.execute(sql, params)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 117, in execute
    six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 112, in execute
    return self.cursor.execute(query, args)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
django.db.utils.IntegrityError: (1048, "Column 'creation' cannot be null")

@cerw Looks like one of your domain (in postfixadmin database) has no creation date. Do you have any way to check this please ?

cerw commented

@tonioo yes some od thenm had 0000 value, now it bypass that error but throws this error, but did not write anything in DB yet.. so not sure where it gets the "already exists"

Migrating domain allcom.com.au
        Migrating domain aliases
        Migrating mailboxes
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 288, in handle
    self._do_migration(options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 278, in _do_migration
    self._migrate_domain(pf_domain, options, creator)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 197, in _migrate_domain
    self._migrate_mailboxes(newdom, options, creator)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 185, in _migrate_mailboxes
    new_mb.save(creator=creator, using=options["_to"])
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa/admin/models/mailbox.py", line 319, in save
    _("Mailbox {} already exists").format(self))
modoboa.lib.exceptions.Conflict: Mailbox @allcom.com.au already exists

Looks like your original database contains duplicated entries (for example: @allcom.com.au). Can you check that ?

cerw commented

I did check table domain and mailbox and alias and did not sea any duplicates, i dont think postfixadmin would allow that anyway, do the table alias behaves same on modoboa?

@cerw Could you send me a dump of your database?

cerw commented

@tonioo sent to you email thanks