Hi Mike,
that put us on the right track - the reason was a stray "use_unicode=0" in
the connection string as we are migrating from py2 to py3. The value in the
alembic_version version_num was being returned as byte, which the code was
interpreting as a tuple of integer values.
Thanks for the quick response!
Cheers
Marco


On Mon, Apr 4, 2016 at 11:12 AM Mike Bayer <[email protected]> wrote:

> do you have any integer values inside your version files for the value
> of "down_revision", "revision", "branch_labels", or "depends_on"?  that
> would be the problem.  Those must be strings.
>
>
>
> On 04/04/2016 01:59 PM, Marco Falcioni wrote:
> > Hello,
> > we are moving to python3 and we ran into the error - is there anything
> > we should do differently?
> > Thanks
> > Marco
> >
> > (alembic==0.8.5)
> >
> > INFO  [alembic.runtime.migration] Context impl MySQLImpl.
> > INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
> > Traceback (most recent call last):
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 349, in _revision_for_ident
> >      revision = self._revision_map[resolved_id]
> > KeyError: 52
> >
> > During handling of the above exception, another exception occurred:
> >
> > Traceback (most recent call last):
> >    File "/Users/joe/venv/test_py3/bin/alembic", line 11, in <module>
> >      sys.exit(main())
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/config.py",
> line
> > 479, in main
> >      CommandLine(prog=prog).main(argv=argv)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/config.py",
> line
> > 473, in main
> >      self.run_cmd(cfg, options)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/config.py",
> line
> > 456, in run_cmd
> >      **dict((k, getattr(options, k)) for k in kwarg)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/command.py",
> > line 174, in upgrade
> >      script.run_env()
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/base.py",
> > line 397, in run_env
> >      util.load_python_file(self.dir, 'env.py')
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/util/pyfiles.py",
> > line 81, in load_python_file
> >      module = load_module_py(module_id, path)
> >    File "_py3/lib/python3.5/site-packages/alembic/util/compat.py", line
> > 68, in load_module_py
> >      module_id, path).load_module(module_id)
> >    File "<frozen importlib._bootstrap_external>", line 385, in
> > _check_name_wrapper
> >    File "<frozen importlib._bootstrap_external>", line 806, in
> load_module
> >    File "<frozen importlib._bootstrap_external>", line 665, in
> load_module
> >    File "<frozen importlib._bootstrap>", line 268, in _load_module_shim
> >    File "<frozen importlib._bootstrap>", line 693, in _load
> >    File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
> >    File "<frozen importlib._bootstrap_external>", line 662, in
> exec_module
> >    File "<frozen importlib._bootstrap>", line 222, in
> > _call_with_frames_removed
> >    File "legacy_schema/env.py", line 70, in <module>
> >      run_migrations_online()
> >    File "legacy_schema/env.py", line 63, in run_migrations_online
> >      context.run_migrations()
> >    File "<string>", line 8, in run_migrations
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/runtime/environment.py",
> > line 797, in run_migrations
> >      self.get_context().run_migrations(**kw)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/runtime/migration.py",
> > line 303, in run_migrations
> >      for step in self._migrations_fn(heads, self):
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/command.py",
> > line 163, in upgrade
> >      return script._upgrade_revs(revision, rev)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/base.py",
> > line 310, in _upgrade_revs
> >      revs = list(revs)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 610, in _iterate_revisions
> >      requested_lowers = self.get_revisions(lower)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 299, in get_revisions
> >      return sum([self.get_revisions(id_elem) for id_elem in id_], ())
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 299, in <listcomp>
> >      return sum([self.get_revisions(id_elem) for id_elem in id_], ())
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 304, in get_revisions
> >      for rev_id in resolved_id)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 304, in <genexpr>
> >      for rev_id in resolved_id)
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 352, in _revision_for_ident
> >      revs = [x for x in self._revision_map
> >    File
> >
> "/Users/joe/venv/test_py3/lib/python3.5/site-packages/alembic/script/revision.py",
> > line 353, in <listcomp>
> >      if x and x.startswith(resolved_id)]
> > TypeError: startswith first arg must be str or a tuple of str, not int
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "sqlalchemy-alembic" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> > an email to [email protected]
> > <mailto:[email protected]>.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sqlalchemy-alembic" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sqlalchemy-alembic/taexgkxxkKY/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy-alembic" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to