sqlalchemy-bot · GitHub

Migrated issue, originally created by Wil Tan

When running alembic history, if the docstring of a particular migration module contains a percent (%) sign, Alembic would throw an error while it tries to print it.

Below, the description for revision "0012" is "Data migration to lower rate to 3%":

$ alembic history
0012 -> 0013 (head), Add Foo table

Traceback (most recent call last):
  File "dev\Scripts\alembic-script.py", line 5, in <module>
    exit(main())
  File "dev\lib\site-packages\alembic\config.py", line 486, in main
    CommandLine(prog=prog).main(argv=argv)
  File "dev\lib\site-packages\alembic\config.py", line 480, in main
    self.run_cmd(cfg, options)
  File "dev\lib\site-packages\alembic\config.py", line 463, in run_cmd
    **dict((k, getattr(options, k, None)) for k in kwarg)
  File "dev\lib\site-packages\alembic\command.py", line 386, in history
    _display_history(config, script, base, head)
  File "dev\lib\site-packages\alembic\command.py", line 364, in _display_history
    include_doc=True, include_parents=True))
  File "dev\lib\site-packages\alembic\config.py", line 160, in print_stdout
    (compat.text_type(text) % arg),
ValueError: incomplete format

Read the original on github.com ↗