modoboa / modoboa-pfxadmin-migrate Goto Github PK
View Code? Open in Web Editor NEWA script to migrate from PostfixAdmin to Modoboa
License: MIT License
A script to migrate from PostfixAdmin to Modoboa
License: MIT License
Hello there,
i created a fresh install of modoboa and created a database on the localhost and included the database from the pfxadmin-server.
It starts to work fine, but it finishes with the following:
--- snip here ---
Migrating domain domain.de
Migrating domain aliases
Migrating mailboxes
Traceback (most recent call last):
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/init.py", line 364, in execute_from_command_line
utility.execute()
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/init.py", line 356, 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 283, 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 330, 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 290, 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 282, 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 198, 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 178, in _migrate_mailboxes
new_user.save(creator=creator, using=options["_to"])
File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa/core/models.py", line 297, in save
super(User, self).save(*args, **kwargs)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 80, in save
super(AbstractBaseUser, self).save(*args, **kwargs)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 808, 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 838, 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 924, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/base.py", line 963, in _do_insert
using=using, raw=raw)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 1079, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1112, 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/utils.py", line 94, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
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 101, in execute
return self.cursor.execute(query, args)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 206, in execute
res = self._query(query)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 312, in _query
db.query(q)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 224, in query
_mysql.connection.query(self, query)
django.db.utils.IntegrityError: (1062, "Duplicate entry '[email protected]' for key 'username'")
---- snip here ---
There is only one user with this log in, but with a couple of aliases.
And this user is also superadmin in the admin-table.
If i delete the user in the admin-table the script stops directly.
If needed, i could provide access to the server.
pfxadmin is Version 3.1
Maybe the database-structure changed a bit?
Any help appreciated!
Thanks in advance
Greetings
Marcel
If at least one mailbox has a quota defined in the old postfixadmin install, the script failed with the following error:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, 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 283, 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 330, 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 290, 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 282, 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 198, 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.set_quota(old_mb.quota / 1024000, override_rules=True)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa/admin/models/mailbox.py", line 265, in set_quota
raise lib_exceptions.BadRequest(_("Domain quota exceeded"))
modoboa.lib.exceptions.BadRequest: Domain quota exceeded
(Fresh modoboa 1.10.5.dev8+gf604aacb install, without any domain/mailbox defined)
By setting quota to 0 on all Mailboxes in postfixadmin, migration is OK.
I was asked several months ago to evaluate email solutions for a small local company. After evaluating several options, I settled on Modoboa as a replacement for their current Postfix/Dovecot system. It took a lot of convincing. The most important issue for them was whether I could migrate their current email accounts and mail to Modoboa. I understand that there are two scripts, modoboa-pfxadmin-migrate and modoboa-imap-migration. I chose to use modoboa-pfxadmin-migrate. I followed the instructions for installation and usage. I immediately encountered errors.
Ubuntu 20.04 LTS uses Python3. The command "python" is aliased to "python3"
Upon executing the script, I received the following errors;
root@sensa-mx-1:/srv/modoboa/instance# python manage.py migrate_from_postfixadmin -s crypt
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/django/core/management/init.py", line 204, in fetch_command
app_name = commands[subcommand]
KeyError: 'migrate_from_postfixadmin'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 21, in
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.8/dist-packages/django/core/management/init.py", line 381, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.8/dist-packages/django/core/management/init.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.8/dist-packages/django/core/management/init.py", line 211, in fetch_command
settings.INSTALLED_APPS
File "/usr/local/lib/python3.8/dist-packages/django/conf/init.py", line 79, in getattr
self._setup(name)
File "/usr/local/lib/python3.8/dist-packages/django/conf/init.py", line 66, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.8/dist-packages/django/conf/init.py", line 157, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "/srv/modoboa/instance/instance/settings.py", line 372, in
from modoboa_amavis import settings as modoboa_amavis_settings
ModuleNotFoundError: No module named 'modoboa_amavis'
This app. has not been updated.
Getting error when running migrate_from_postfixadmin command:
python manage.py migrate_from_postfixadmin -s plain
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 208, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 40, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 45, in <module>
from modoboa.admin.callbacks import grant_access_to_all_objects
ImportError: No module named callbacks
Migration fails with the error / stacktrace below. I'm using Postfixadmin 2.3.7.
Migrating domain example.com
Migrating domain aliases
Migrating mailboxes
Migrating mailbox aliases
Migrating administrators
Traceback (most recent call last):
File "./manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/dist-packages/django/core/management/init.py", line 385, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/dist-packages/django/core/management/init.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(_args, *_options.dict)
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute
output = self.handle(_args, _options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 291, in handle
self._do_migration(options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 281, in _do_migration
self._migrate_domain(pf_domain, options, creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 204, in _migrate_domain
self._migrate_admins(options, creator, pf_domain, newdom)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 221, in _migrate_admins
for old_admin in pf_domain.admins.all():
File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 191, in all
return self.get_queryset()
File "/usr/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 885, in get_queryset
return qs._next_is_sticky().filter(_self.core_filters)
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 691, in filter
return self._filter_or_exclude(False, *args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 709, in _filter_or_exclude
clone.query.add_q(Q(_args, *_kwargs))
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1331, in add_q
clause, require_inner = self._add_q(where_part, self.used_aliases)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1358, in _add_q
current_negated=current_negated, connector=connector)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1182, in build_filter
lookups, parts, reffed_aggregate = self.solve_lookup_type(arg)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1120, in solve_lookup_type
_, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1427, in names_to_path
self.raise_field_error(opts, name)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1433, in raise_field_error
"Choices are: %s" % (name, ", ".join(available)))
django.core.exceptions.FieldError: Cannot resolve keyword u'domain' into field. Choices are: active, created, modified, password, username
When I run it i get this for first domain ?
My postfix version: 2.3.5
Migration fails with the error "TypeError: save() got an unexpected keyword argument 'ext_rcpts'"
Stacktrace:
Migrating domain example.com
Migrating domain aliases
Migrating mailboxes
Migrating mailbox aliases
Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/init.py", line 385, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/init.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(_args, *_options.dict)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute
output = self.handle(_args, *_options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 293, in handle
self._do_migration(options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 283, in _do_migration
self._migrate_domain(pf_domain, options, creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 203, in _migrate_domain
self._migrate_mailbox_aliases(newdom, options, creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate-1.0.0-py2.7.egg/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 162, in _migrate_mailbox_aliases
using=options["_to"]
File "/usr/local/lib/python2.7/dist-packages/modoboa_admin/models/base.py", line 76, in save
super(AdminObject, self).save(_args, *_kwargs)
TypeError: save() got an unexpected keyword argument 'ext_rcpts'
I tried to migrate a Postfixadmin database to Modoboa but the procedure crashes with the following stack trace:
Traceback (most recent call last):
File "manage.py", line 10, in
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 199, in _migrate_domain
self._migrate_admins(options, creator, pf_domain, newdom)
File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 235, in _migrate_admins
if "SimpleUsers" == user.group:
AttributeError: 'User' object has no attribute 'group'
Postfix won't accept ipv6 incoming connections on Debian 10.
/etc/postfix/main.cf should be changed to:
from:
inet_protocols = ipv4
to:
inet_protocols = all
to make it work.
I try to install mpfxadmin-migrate and it fails.
I am using the modoboa virtual machine.
Logged as root.
cd /root
pip install modoboa-pfxadmin-migrate
Here is the log :
root@modoboa:~# more /root/.pip/pip.log
------------------------------------------------------------
/usr/bin/pip run on Thu Nov 12 02:14:23 2015
Downloading/unpacking modoboa-pfxadmin-migrate
Getting page http://pypi.python.org/simple/modoboa-pfxadmin-migrate
Could not fetch URL http://pypi.python.org/simple/modoboa-pfxadmin-migrate: HTTP Error 404: Not Found
Will skip URL http://pypi.python.org/simple/modoboa-pfxadmin-migrate when looking for download links for modoboa-pfxadmin-migrate
Getting page http://pypi.python.org/simple/
URLs to search for versions for modoboa-pfxadmin-migrate:
* http://pypi.python.org/simple/modoboa-pfxadmin-migrate/
Getting page http://pypi.python.org/simple/modoboa-pfxadmin-migrate/
Could not fetch URL http://pypi.python.org/simple/modoboa-pfxadmin-migrate/: HTTP Error 404: Not Found
Will skip URL http://pypi.python.org/simple/modoboa-pfxadmin-migrate/ when looking for download links for modoboa-pfxadmin-migrate
Could not find any downloads that satisfy the requirement modoboa-pfxadmin-migrate
No distributions at all found for modoboa-pfxadmin-migrate
Exception information:
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.6/pip/basecommand.py", line 120, in main
self.run(options, args)
File "/usr/lib/pymodules/python2.6/pip/commands/install.py", line 161, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/pymodules/python2.6/pip/req.py", line 872, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "/usr/lib/pymodules/python2.6/pip/index.py", line 116, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
DistributionNotFound: No distributions at all found for modoboa-pfxadmin-migrate
of course, network is working. I can ping pypi.python.org
From @controlcde on February 1, 2015 19:17
I´ve configured modoboa before I fire up the postfixadmin migration script but after a sucessful import the needed records in the amavis database are missing.
Copied from original issue: modoboa/modoboa#681
Using Postfixadmin v3 and Modoboa from a pip install, the script starts importing domains and then give this error:
Migrating domain xxx.com
Migrating domain aliases
Migrating mailboxes
Migrating mailbox aliases
Migrating administrators
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 288, in handle
self._do_migration(options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 278, in _do_migration
self._migrate_domain(pf_domain, options, creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 199, in _migrate_domain
self._migrate_admins(options, creator, pf_domain, newdom)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 235, in _migrate_admins
if "SimpleUsers" == user.group:
AttributeError: 'User' object has no attribute 'group'```
Previously imported domains and mailboxes don't show up in Modoboa web admin.
Trying to run migration script on mysql database - after last domain I get error:
Traceback (most recent call last):
File "manage.py", line 10, in
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 282, in _do_migration
options["_from"]).get(domain='ALL')
File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 387, in get
self.model._meta.object_name
modoboa_pfxadmin_migrate.models.DoesNotExist: Domain matching query does not exist.
Latest version of modoboa. Ubuntu 16.04
The script starts migrating several domains and then crashes:
Migrating domain example.org
Migrating domain aliases
Migrating mailboxes
Migrating mailbox aliases
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 288, in handle
self._do_migration(options)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 278, in _do_migration
self._migrate_domain(pf_domain, options, creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 198, in _migrate_domain
self._migrate_mailbox_aliases(newdom, options, creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa_pfxadmin_migrate/management/commands/migrate_from_postfixadmin.py", line 160, in _migrate_mailbox_aliases
options["_to"]).bulk_create(to_create)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 450, in bulk_create
self._batched_insert(objs_without_pk, fields, batch_size)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 1056, in _batched_insert
using=self.db)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 122, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 1039, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 1060, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 112, in execute
return self.cursor.execute(query, args)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
django.db.utils.IntegrityError: (1062, "Duplicate entry '1628-1148' for key 'modoboa_admin_aliasrecipient_alias_id_c005be7e_uniq'")
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.