#373 Alembic migrations fail
Closed 5 years ago Opened 5 years ago by mizdebsk.

I have an empty database, which I would like to populate with current Copr schema. I am running:

su - copr-fe
cd /usr/share/copr/coprs_frontend/
PYTHONPATH=. alembic-3 upgrade head

But alembic migration fails with sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation "legal_flag" does not exist:

INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> 595a31c145fb, Initial DB setup
INFO  [alembic.runtime.migration] Running upgrade 595a31c145fb -> 32ba137a3d56, Add token information to the user table
INFO  [alembic.runtime.migration] Running upgrade 32ba137a3d56 -> 2e30169e58ce, Change api_token length from varchar(40) to varchar(255)
INFO  [alembic.runtime.migration] Running upgrade 2e30169e58ce -> 2fa80e062525, empty message
INFO  [alembic.runtime.migration] Running upgrade 2fa80e062525 -> 3c3cce7a5fe0, empty message
INFO  [alembic.runtime.migration] Running upgrade 3c3cce7a5fe0 -> 3a035889852c, add_copr_fulltext
INFO  [alembic.runtime.migration] Running upgrade 3a035889852c -> 1ee4b45f5476, empty message
INFO  [alembic.runtime.migration] Running upgrade 1ee4b45f5476 -> 544873aa3ba1, empty message
INFO  [alembic.runtime.migration] Running upgrade 544873aa3ba1 -> 2a75f0a06d90, Add a api_login field to user
INFO  [alembic.runtime.migration] Running upgrade 2a75f0a06d90 -> 451e9507b866, generalize_action
INFO  [alembic.runtime.migration] Running upgrade 451e9507b866 -> d062c3d9c00, backend_result_to_result
INFO  [alembic.runtime.migration] Running upgrade d062c3d9c00 -> 246fd2dbf398, add_legal_flag
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
psycopg2.ProgrammingError: relation "legal_flag" does not exist


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/alembic-3", line 11, in <module>
    load_entry_point('alembic==0.9.7', 'console_scripts', 'alembic')()
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 479, in main
    CommandLine(prog=prog).main(argv=argv)
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 473, in main
    self.run_cmd(cfg, options)
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 456, in run_cmd
    **dict((k, getattr(options, k, None)) for k in kwarg)
  File "/usr/lib/python3.6/site-packages/alembic/command.py", line 254, in upgrade
    script.run_env()
  File "/usr/lib/python3.6/site-packages/alembic/script/base.py", line 425, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "/usr/lib/python3.6/site-packages/alembic/util/pyfiles.py", line 81, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/lib/python3.6/site-packages/alembic/util/compat.py", line 83, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "alembic/schema/env.py", line 73, in <module>
    run_migrations_online()
  File "alembic/schema/env.py", line 66, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/lib/python3.6/site-packages/alembic/runtime/environment.py", line 836, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/lib/python3.6/site-packages/alembic/runtime/migration.py", line 330, in run_migrations
    step.migration_fn(**kw)
  File "/usr/share/copr/coprs_frontend/alembic/schema/versions/246fd2dbf398_add_legal_flag.py", line 20, in upgrade
    "legal_flag", sa.Column("resolved_on", sa.Integer(), nullable=True))
  File "<string>", line 8, in add_column
  File "<string>", line 3, in add_column
  File "/usr/lib/python3.6/site-packages/alembic/operations/ops.py", line 1565, in add_column
    return operations.invoke(op)
  File "/usr/lib/python3.6/site-packages/alembic/operations/base.py", line 319, in invoke
    return fn(self, operation)
  File "/usr/lib/python3.6/site-packages/alembic/operations/toimpl.py", line 123, in add_column
    schema=schema
  File "/usr/lib/python3.6/site-packages/alembic/ddl/impl.py", line 172, in add_column
    self._exec(base.AddColumn(table_name, column, schema=schema))
  File "/usr/lib/python3.6/site-packages/alembic/ddl/impl.py", line 118, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 68, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1009, in _execute_ddl
    compiled
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation "legal_flag" does not exist
 [SQL: 'ALTER TABLE legal_flag ADD COLUMN resolved_on INTEGER'] (Background on this error at: http://sqlalche.me/e/f405)

@praiskup What oldest migration do you use. Can we just drop old migrations?

coprdb=> select * from alembic_version;
 version_num  
--------------
 bf4b5dc74740

Metadata Update from @clime:
- Issue status updated to: Closed (was: Open)

5 years ago

Login to comment on this ticket.

Metadata