#5219 Unable to upgrade mysql/mariadb from pagure 5.8 to 5.13
Closed: Fixed 2 years ago by zlopez. Opened 2 years ago by arrfab.

When trying to move a pagure instance running on centos 7 / pagure 5.8 to centos 8-stream/pagure 5.13 I have a problem updating the schema with alembic.

The deployed from scratch process worked so for a "clean" instance.
But when dropping/creating a new db, restoring a mysldump from 5.8 to 5.13 and trying to run alembic, it fails :

alembic --config /etc/pagure/alembic.ini upgrade head ; echo $?
Using configuration file `/etc/pagure/pagure.cfg`
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade d7589827abbb -> 060b20d6d6e6, Add boards
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
    res = self._query(query)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 315, in _query
    db.query(q)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/connections.py", line 239, in query
    _mysql.connection.query(self, query)
MySQLdb._exceptions.OperationalError: (3780, "Referencing column 'issue_uid' and referenced column 'uid' in foreign key constraint 'boards_issues_issue_uid_fkey' are incompatible.")

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

Traceback (most recent call last):
  File "/usr/bin/alembic", line 33, in <module>
    sys.exit(load_entry_point('alembic==1.4.3', 'console_scripts', 'alembic')())
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 581, in main
    CommandLine(prog=prog).main(argv=argv)
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 575, in main
    self.run_cmd(cfg, options)
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 555, in run_cmd
    **dict((k, getattr(options, k, None)) for k in kwarg)
  File "/usr/lib/python3.6/site-packages/alembic/command.py", line 298, in upgrade
    script.run_env()
  File "/usr/lib/python3.6/site-packages/alembic/script/base.py", line 489, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/usr/lib/python3.6/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/lib/python3.6/site-packages/alembic/util/compat.py", line 184, 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 "/usr/share/pagure/alembic/env.py", line 90, in <module>
    run_migrations_online()
  File "/usr/share/pagure/alembic/env.py", line 84, 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 846, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/lib/python3.6/site-packages/alembic/runtime/migration.py", line 522, in run_migrations
    step.migration_fn(**kw)
  File "/usr/share/pagure/alembic/versions/060b20d6d6e6_add_boards.py", line 97, in upgrade
    "status_id", "issue_uid", name="boards_issues_status_id_issue_uid_uix"
  File "<string>", line 8, in create_table
  File "<string>", line 3, in create_table
  File "/usr/lib/python3.6/site-packages/alembic/operations/ops.py", line 1252, in create_table
    return operations.invoke(op)
  File "/usr/lib/python3.6/site-packages/alembic/operations/base.py", line 373, in invoke
    return fn(self, operation)
  File "/usr/lib/python3.6/site-packages/alembic/operations/toimpl.py", line 101, in create_table
    operations.impl.create_table(table)
  File "/usr/lib/python3.6/site-packages/alembic/ddl/impl.py", line 259, in create_table
    self._exec(schema.CreateTable(table))
  File "/usr/lib/python3.6/site-packages/alembic/ddl/impl.py", line 141, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 988, in execute
    return meth(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1050, in _execute_ddl
    compiled,
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 383, 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 128, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
    res = self._query(query)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 315, in _query
    db.query(q)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/connections.py", line 239, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (3780, "Referencing column 'issue_uid' and referenced column 'uid' in foreign key constraint 'boards_issues_issue_uid_fkey' are incompatible.")
[SQL: 
CREATE TABLE boards_issues (
    issue_uid VARCHAR(32) NOT NULL, 
    status_id INTEGER NOT NULL, 
    `rank` INTEGER NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT boards_issues_pkey PRIMARY KEY (status_id, issue_uid), 
    CONSTRAINT boards_issues_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT boards_issues_status_id_fkey FOREIGN KEY(status_id) REFERENCES board_statuses (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT boards_issues_status_id_issue_uid_uix UNIQUE (status_id, issue_uid)
)

]
(Background on this error at: http://sqlalche.me/e/e3q8)

Metadata Update from @ngompa:
- Issue priority set to: High
- Issue tagged with: bug

2 years ago

Does the same thing happen when you try to upgrade using python3 /usr/share/pagure/pagure_createdb.py -c /etc/pagure/pagure.cfg?

yes, let me paste output here (as previous attempt created the board table it seems) :

python3 /usr/share/pagure/pagure_createdb.py -c /etc/pagure/pagure.cfg
2021-09-23 12:39:04,753 INFO sqlalchemy.engine.base.Engine SHOW VARIABLES LIKE 'sql_mode'
2021-09-23 12:39:04,754 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,756 INFO sqlalchemy.engine.base.Engine SHOW VARIABLES LIKE 'lower_case_table_names'
2021-09-23 12:39:04,756 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,758 INFO sqlalchemy.engine.base.Engine SELECT DATABASE()
2021-09-23 12:39:04,758 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,758 INFO sqlalchemy.engine.base.Engine show collation where `Charset` = 'utf8mb4' and `Collation` = 'utf8mb4_bin'
2021-09-23 12:39:04,758 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,760 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS CHAR(60)) AS anon_1
2021-09-23 12:39:04,760 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,760 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS CHAR(60)) AS anon_1
2021-09-23 12:39:04,761 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,761 INFO sqlalchemy.engine.base.Engine SELECT CAST('test collated returns' AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_bin AS anon_1
2021-09-23 12:39:04,761 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,762 INFO sqlalchemy.engine.base.Engine DESCRIBE `access_levels`
2021-09-23 12:39:04,762 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,764 INFO sqlalchemy.engine.base.Engine DESCRIBE `status_issue`
2021-09-23 12:39:04,764 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,765 INFO sqlalchemy.engine.base.Engine DESCRIBE `status_pull_requests`
2021-09-23 12:39:04,765 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,766 INFO sqlalchemy.engine.base.Engine DESCRIBE `users`
2021-09-23 12:39:04,766 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,768 INFO sqlalchemy.engine.base.Engine DESCRIBE `user_emails`
2021-09-23 12:39:04,768 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,769 INFO sqlalchemy.engine.base.Engine DESCRIBE `user_emails_pending`
2021-09-23 12:39:04,769 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,770 INFO sqlalchemy.engine.base.Engine DESCRIBE `projects`
2021-09-23 12:39:04,770 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,772 INFO sqlalchemy.engine.base.Engine DESCRIBE `project_locks`
2021-09-23 12:39:04,772 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,773 INFO sqlalchemy.engine.base.Engine DESCRIBE `user_projects`
2021-09-23 12:39:04,773 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,774 INFO sqlalchemy.engine.base.Engine DESCRIBE `sshkeys`
2021-09-23 12:39:04,775 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,776 INFO sqlalchemy.engine.base.Engine DESCRIBE `issues`
2021-09-23 12:39:04,776 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,777 INFO sqlalchemy.engine.base.Engine DESCRIBE `issue_to_issue`
2021-09-23 12:39:04,777 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,778 INFO sqlalchemy.engine.base.Engine DESCRIBE `pr_to_issue`
2021-09-23 12:39:04,778 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,779 INFO sqlalchemy.engine.base.Engine DESCRIBE `issue_comments`
2021-09-23 12:39:04,779 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,780 INFO sqlalchemy.engine.base.Engine DESCRIBE `issue_keys`
2021-09-23 12:39:04,780 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,781 INFO sqlalchemy.engine.base.Engine DESCRIBE `issue_values`
2021-09-23 12:39:04,781 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,782 INFO sqlalchemy.engine.base.Engine DESCRIBE `tags`
2021-09-23 12:39:04,782 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,784 INFO sqlalchemy.engine.base.Engine DESCRIBE `tags_issues`
2021-09-23 12:39:04,784 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,785 INFO sqlalchemy.engine.base.Engine DESCRIBE `tags_colored`
2021-09-23 12:39:04,785 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,786 INFO sqlalchemy.engine.base.Engine DESCRIBE `tags_issues_colored`
2021-09-23 12:39:04,786 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,787 INFO sqlalchemy.engine.base.Engine DESCRIBE `tags_projects`
2021-09-23 12:39:04,787 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,788 INFO sqlalchemy.engine.base.Engine DESCRIBE `pull_requests`
2021-09-23 12:39:04,789 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,790 INFO sqlalchemy.engine.base.Engine DESCRIBE `pull_request_comments`
2021-09-23 12:39:04,790 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,791 INFO sqlalchemy.engine.base.Engine DESCRIBE `pull_request_flags`
2021-09-23 12:39:04,791 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,792 INFO sqlalchemy.engine.base.Engine DESCRIBE `commit_flags`
2021-09-23 12:39:04,792 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,793 INFO sqlalchemy.engine.base.Engine DESCRIBE `tags_pull_requests`
2021-09-23 12:39:04,794 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,795 INFO sqlalchemy.engine.base.Engine DESCRIBE `pagure_group_type`
2021-09-23 12:39:04,795 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,796 INFO sqlalchemy.engine.base.Engine DESCRIBE `pagure_group`
2021-09-23 12:39:04,796 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,797 INFO sqlalchemy.engine.base.Engine DESCRIBE `projects_groups`
2021-09-23 12:39:04,797 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,798 INFO sqlalchemy.engine.base.Engine DESCRIBE `stargazers`
2021-09-23 12:39:04,798 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,799 INFO sqlalchemy.engine.base.Engine DESCRIBE `watchers`
2021-09-23 12:39:04,799 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,800 INFO sqlalchemy.engine.base.Engine DESCRIBE `pagure_logs`
2021-09-23 12:39:04,800 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,801 INFO sqlalchemy.engine.base.Engine DESCRIBE `issue_watchers`
2021-09-23 12:39:04,801 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,802 INFO sqlalchemy.engine.base.Engine DESCRIBE `pull_request_watchers`
2021-09-23 12:39:04,802 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,803 INFO sqlalchemy.engine.base.Engine DESCRIBE `acls`
2021-09-23 12:39:04,803 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,805 INFO sqlalchemy.engine.base.Engine DESCRIBE `tokens`
2021-09-23 12:39:04,805 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,806 INFO sqlalchemy.engine.base.Engine DESCRIBE `tokens_acls`
2021-09-23 12:39:04,806 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,807 INFO sqlalchemy.engine.base.Engine DESCRIBE `boards`
2021-09-23 12:39:04,807 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,808 INFO sqlalchemy.engine.base.Engine DESCRIBE `board_statuses`
2021-09-23 12:39:04,808 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,810 INFO sqlalchemy.engine.base.Engine DESCRIBE `boards_issues`
2021-09-23 12:39:04,810 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,810 INFO sqlalchemy.engine.base.Engine ROLLBACK
2021-09-23 12:39:04,810 INFO sqlalchemy.engine.base.Engine DESCRIBE `pagure_user_visit`
2021-09-23 12:39:04,810 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,812 INFO sqlalchemy.engine.base.Engine DESCRIBE `pagure_user_group`
2021-09-23 12:39:04,812 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,813 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_fedmsg`
2021-09-23 12:39:04,813 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,814 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_irc`
2021-09-23 12:39:04,814 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,815 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_mail`
2021-09-23 12:39:04,815 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,816 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_mirror`
2021-09-23 12:39:04,816 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,818 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure_ci`
2021-09-23 12:39:04,818 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,819 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure_force_commit`
2021-09-23 12:39:04,819 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,820 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure`
2021-09-23 12:39:04,820 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,821 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure_no_new_branches`
2021-09-23 12:39:04,821 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,822 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure_requests`
2021-09-23 12:39:04,822 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,823 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure_tickets`
2021-09-23 12:39:04,823 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,824 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_pagure_unsigned_commit`
2021-09-23 12:39:04,824 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,825 INFO sqlalchemy.engine.base.Engine DESCRIBE `hook_rtd`
2021-09-23 12:39:04,825 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,827 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE boards_issues (
    issue_uid VARCHAR(32) NOT NULL, 
    status_id INTEGER NOT NULL, 
    `rank` INTEGER NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT boards_issues_pkey PRIMARY KEY (issue_uid, status_id), 
    CONSTRAINT boards_issues_status_id_issue_uid_uix UNIQUE (status_id, issue_uid), 
    CONSTRAINT boards_issues_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT boards_issues_status_id_fkey FOREIGN KEY(status_id) REFERENCES board_statuses (id) ON DELETE CASCADE ON UPDATE CASCADE
)


2021-09-23 12:39:04,827 INFO sqlalchemy.engine.base.Engine ()
2021-09-23 12:39:04,828 INFO sqlalchemy.engine.base.Engine ROLLBACK
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
    res = self._query(query)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 315, in _query
    db.query(q)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/connections.py", line 239, in query
    _mysql.connection.query(self, query)
MySQLdb._exceptions.OperationalError: (3780, "Referencing column 'issue_uid' and referenced column 'uid' in foreign key constraint 'boards_issues_issue_uid_fkey' are incompatible.")

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

Traceback (most recent call last):
  File "/usr/share/pagure/pagure_createdb.py", line 57, in <module>
    debug=True,
  File "/usr/lib/python3.6/site-packages/pagure/lib/model.py", line 72, in create_tables
    BASE.metadata.create_all(engine)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/schema.py", line 4287, in create_all
    ddl.SchemaGenerator, self, checkfirst=checkfirst, tables=tables
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 2033, in _run_visitor
    conn._run_visitor(visitorcallable, element, **kwargs)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1607, in _run_visitor
    visitorcallable(self.dialect, self, **kwargs).traverse_single(element)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/visitors.py", line 131, in traverse_single
    return meth(obj, **kw)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 781, in visit_metadata
    _is_metadata_operation=True,
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/visitors.py", line 131, in traverse_single
    return meth(obj, **kw)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 826, in visit_table
    include_foreign_key_constraints,
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 988, in execute
    return meth(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1050, in _execute_ddl
    compiled,
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 383, 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 128, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
    res = self._query(query)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 315, in _query
    db.query(q)
  File "/usr/lib64/python3.6/site-packages/MySQLdb/connections.py", line 239, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (3780, "Referencing column 'issue_uid' and referenced column 'uid' in foreign key constraint 'boards_issues_issue_uid_fkey' are incompatible.")
[SQL: 
CREATE TABLE boards_issues (
    issue_uid VARCHAR(32) NOT NULL, 
    status_id INTEGER NOT NULL, 
    `rank` INTEGER NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT boards_issues_pkey PRIMARY KEY (issue_uid, status_id), 
    CONSTRAINT boards_issues_status_id_issue_uid_uix UNIQUE (status_id, issue_uid), 
    CONSTRAINT boards_issues_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT boards_issues_status_id_fkey FOREIGN KEY(status_id) REFERENCES board_statuses (id) ON DELETE CASCADE ON UPDATE CASCADE
)

]
(Background on this error at: http://sqlalche.me/e/e3q8)

It looks like it's specifically upset about the foreign key constraint:

sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (3780, "Referencing column 'issue_uid' and referenced column 'uid' in foreign key constraint 'boards_issues_issue_uid_fkey' are incompatible.")

Can you paste the output of DESCRIBE for theboards_issues, issues, board_statuses tables? I want to see if the type definition for the referenced field matches what's expected here.

I have to revisit that but at origin server (running on centos 7 / pagure 5.8) here is the issues table (the other ones don't exist, as they landed in newer pagure versions :

MariaDB [pagure]> describe issues;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| uid          | varchar(32)  | NO   | UNI | NULL    |                |
| project_id   | int(11)      | NO   | PRI | NULL    |                |
| title        | text         | NO   |     | NULL    |                |
| content      | text         | NO   |     | NULL    |                |
| user_id      | int(11)      | NO   | MUL | NULL    |                |
| assignee_id  | int(11)      | YES  | MUL | NULL    |                |
| status       | varchar(255) | NO   | MUL | NULL    |                |
| private      | tinyint(1)   | NO   |     | NULL    |                |
| priority     | int(11)      | YES  |     | NULL    |                |
| milestone    | varchar(255) | YES  |     | NULL    |                |
| close_status | text         | YES  |     | NULL    |                |
| date_created | datetime     | NO   |     | NULL    |                |
| last_updated | datetime     | NO   |     | NULL    |                |
| closed_at    | datetime     | YES  |     | NULL    |                |
| closed_by_id | int(11)      | YES  | MUL | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
16 rows in set (0.01 sec)

Now at the fresh pagure instance (5.13 on centos 8-stream) :

mysql> describe issues;
+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| id           | int          | NO   | PRI | NULL    |       |
| uid          | varchar(32)  | NO   | UNI | NULL    |       |
| project_id   | int          | NO   | PRI | NULL    |       |
| title        | text         | NO   |     | NULL    |       |
| content      | text         | NO   |     | NULL    |       |
| user_id      | int          | NO   | MUL | NULL    |       |
| assignee_id  | int          | YES  | MUL | NULL    |       |
| status       | varchar(255) | NO   | MUL | NULL    |       |
| private      | tinyint(1)   | NO   |     | NULL    |       |
| priority     | int          | YES  |     | NULL    |       |
| milestone    | varchar(255) | YES  |     | NULL    |       |
| close_status | text         | YES  |     | NULL    |       |
| date_created | datetime     | NO   |     | NULL    |       |
| last_updated | datetime     | NO   |     | NULL    |       |
| closed_at    | datetime     | YES  |     | NULL    |       |
| closed_by_id | int          | YES  | MUL | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
16 rows in set (0.00 sec)

mysql> describe boards_issues;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| issue_uid | varchar(32) | NO   | PRI | NULL    |       |
| status_id | int         | NO   | PRI | NULL    |       |
| rank      | int         | NO   |     | NULL    |       |
| created   | datetime    | NO   |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> describe board_statuses;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int          | NO   | PRI | NULL    | auto_increment |
| board_id     | int          | NO   | MUL | NULL    |                |
| name         | varchar(128) | NO   |     | NULL    |                |
| rank         | int          | NO   |     | NULL    |                |
| default      | tinyint(1)   | NO   |     | NULL    |                |
| bg_color     | varchar(32)  | NO   |     | NULL    |                |
| close        | tinyint(1)   | NO   |     | NULL    |                |
| close_status | text         | YES  |     | NULL    |                |
| created      | datetime     | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)

I can if you want try another restore and kick the alembic script on top to see if that would change something there

@arrfab I'm trying to look at this issue and I'm using quay.io/centos/centos:stream8 container. And I'm wondering how you actually installed the pagure 5.13. I'm not able to install the package on EPEL, it complains about conflict:

Error: 
 Problem: conflicting requests
  - nothing provides python3.6dist(markdown) needed by pagure-5.13.3-2.el8.noarch

And when trying to do this manually, I can't install it with python3.6 and I'm having different error when using python3.8.

Could you just write down, how you did it?

python3-markdown is in the PowerTools repo. You need to enable that first.

Hm, I don't have the error with pagure 5.13.3. I was able to run python3 /usr/share/pagure/pagure_createdb.py -c /etc/pagure/pagure.cfg without error.

Here is the output:

2022-02-17 14:29:27,861 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1
2022-02-17 14:29:27,861 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,862 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1
2022-02-17 14:29:27,862 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,862 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("access_levels")
2022-02-17 14:29:27,862 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,863 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("status_issue")
2022-02-17 14:29:27,863 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("status_pull_requests")
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("users")
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("user_emails")
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("user_emails_pending")
2022-02-17 14:29:27,864 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("projects")
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("project_locks")
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("user_projects")
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("sshkeys")
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("issues")
2022-02-17 14:29:27,865 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("issue_to_issue")
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pr_to_issue")
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("issue_comments")
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("issue_keys")
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("issue_values")
2022-02-17 14:29:27,866 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tags")
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tags_issues")
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tags_colored")
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tags_issues_colored")
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,867 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tags_projects")
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pull_requests")
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pull_request_comments")
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pull_request_flags")
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,868 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("commit_flags")
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tags_pull_requests")
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pagure_group_type")
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pagure_group")
2022-02-17 14:29:27,869 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("projects_groups")
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("stargazers")
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("watchers")
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pagure_logs")
2022-02-17 14:29:27,870 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("issue_watchers")
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pull_request_watchers")
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("acls")
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,871 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tokens")
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("tokens_acls")
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("boards")
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("board_statuses")
2022-02-17 14:29:27,872 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("boards_issues")
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pagure_user_visit")
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("pagure_user_group")
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_fedmsg")
2022-02-17 14:29:27,873 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,874 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_mirror")
2022-02-17 14:29:27,874 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,874 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure_unsigned_commit")
2022-02-17 14:29:27,874 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,874 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure_force_commit")
2022-02-17 14:29:27,874 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,875 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure_no_new_branches")
2022-02-17 14:29:27,875 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,875 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure_tickets")
2022-02-17 14:29:27,875 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,875 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_rtd")
2022-02-17 14:29:27,876 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,876 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure")
2022-02-17 14:29:27,876 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,876 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_mail")
2022-02-17 14:29:27,876 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,877 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure_requests")
2022-02-17 14:29:27,877 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,877 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_pagure_ci")
2022-02-17 14:29:27,877 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,878 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("hook_irc")
2022-02-17 14:29:27,878 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,881 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE access_levels (
    access VARCHAR(255) NOT NULL, 
    CONSTRAINT access_levels_pkey PRIMARY KEY (access)
)


2022-02-17 14:29:27,881 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,888 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,889 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE status_issue (
    id INTEGER NOT NULL, 
    status VARCHAR(255) NOT NULL, 
    CONSTRAINT status_issue_pkey PRIMARY KEY (id), 
    CONSTRAINT status_issue_status_key UNIQUE (status)
)


2022-02-17 14:29:27,889 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,895 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,896 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE status_pull_requests (
    id INTEGER NOT NULL, 
    status VARCHAR(255) NOT NULL, 
    CONSTRAINT status_pull_requests_pkey PRIMARY KEY (id), 
    CONSTRAINT status_pull_requests_status_key UNIQUE (status)
)


2022-02-17 14:29:27,896 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,903 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,904 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE users (
    id INTEGER NOT NULL, 
    user VARCHAR(255) NOT NULL, 
    fullname VARCHAR(255) NOT NULL, 
    default_email TEXT NOT NULL, 
    _settings TEXT, 
    password TEXT, 
    token VARCHAR(50), 
    created DATETIME NOT NULL, 
    updated_on DATETIME NOT NULL, 
    refuse_sessions_before DATETIME, 
    CONSTRAINT users_pkey PRIMARY KEY (id)
)


2022-02-17 14:29:27,904 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,910 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,911 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_users_users_fullname ON users (fullname)
2022-02-17 14:29:27,911 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,915 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,916 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_users_users_user ON users (user)
2022-02-17 14:29:27,916 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,921 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,922 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tags (
    tag VARCHAR(255) NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT tags_pkey PRIMARY KEY (tag)
)


2022-02-17 14:29:27,922 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,927 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,928 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pagure_group_type (
    group_type VARCHAR(16) NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT pagure_group_type_pkey PRIMARY KEY (group_type)
)


2022-02-17 14:29:27,929 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,934 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,936 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE acls (
    id INTEGER NOT NULL, 
    name VARCHAR(32) NOT NULL, 
    description TEXT NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT acls_pkey PRIMARY KEY (id), 
    CONSTRAINT acls_name_key UNIQUE (name)
)


2022-02-17 14:29:27,936 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,941 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,942 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE user_emails (
    id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    email VARCHAR(255) NOT NULL, 
    CONSTRAINT user_emails_pkey PRIMARY KEY (id), 
    CONSTRAINT user_emails_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT user_emails_email_key UNIQUE (email)
)


2022-02-17 14:29:27,942 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,947 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,947 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_user_emails_user_emails_user_id ON user_emails (user_id)
2022-02-17 14:29:27,947 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,953 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,954 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE user_emails_pending (
    id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    email VARCHAR(255) NOT NULL, 
    token VARCHAR(50), 
    created DATETIME NOT NULL, 
    CONSTRAINT user_emails_pending_pkey PRIMARY KEY (id), 
    CONSTRAINT user_emails_pending_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT user_emails_pending_email_key UNIQUE (email)
)


2022-02-17 14:29:27,954 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,960 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,961 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_user_emails_pending_user_emails_pending_user_id ON user_emails_pending (user_id)
2022-02-17 14:29:27,961 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,965 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,968 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE projects (
    id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    namespace VARCHAR(255), 
    name VARCHAR(255) NOT NULL, 
    description TEXT, 
    url TEXT, 
    _settings TEXT, 
    hook_token VARCHAR(40) NOT NULL, 
    avatar_email TEXT, 
    is_fork BOOLEAN NOT NULL, 
    read_only BOOLEAN NOT NULL, 
    parent_id INTEGER, 
    _priorities TEXT, 
    default_priority TEXT, 
    _milestones TEXT, 
    _milestones_keys TEXT, 
    _quick_replies TEXT, 
    _reports TEXT, 
    _notifications TEXT, 
    _close_status TEXT, 
    _block_users TEXT, 
    mirrored_from TEXT, 
    mirrored_from_last_log TEXT, 
    date_created DATETIME NOT NULL, 
    date_modified DATETIME NOT NULL, 
    private BOOLEAN NOT NULL, 
    repospanner_region TEXT, 
    CONSTRAINT projects_pkey PRIMARY KEY (id), 
    CONSTRAINT projects_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT projects_hook_token_key UNIQUE (hook_token), 
    CHECK (is_fork IN (0, 1)), 
    CHECK (read_only IN (0, 1)), 
    CONSTRAINT projects_parent_id_fkey FOREIGN KEY(parent_id) REFERENCES projects (id) ON UPDATE CASCADE, 
    CHECK (private IN (0, 1))
)


2022-02-17 14:29:27,968 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,974 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,974 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_projects_projects_namespace ON projects (namespace)
2022-02-17 14:29:27,975 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,980 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,981 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_projects_projects_name ON projects (name)
2022-02-17 14:29:27,981 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,987 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,987 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_projects_projects_user_id ON projects (user_id)
2022-02-17 14:29:27,987 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,993 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,994 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pagure_group (
    id INTEGER NOT NULL, 
    group_name VARCHAR(255) NOT NULL, 
    display_name VARCHAR(255) NOT NULL, 
    description VARCHAR(255), 
    group_type VARCHAR(16) NOT NULL, 
    user_id INTEGER NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT pagure_group_pkey PRIMARY KEY (id), 
    CONSTRAINT pagure_group_group_name_key UNIQUE (group_name), 
    CONSTRAINT pagure_group_display_name_key UNIQUE (display_name), 
    CONSTRAINT pagure_group_group_type_fkey FOREIGN KEY(group_type) REFERENCES pagure_group_type (group_type), 
    CONSTRAINT pagure_group_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:27,994 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:27,999 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:27,999 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_group_pagure_group_user_id ON pagure_group (user_id)
2022-02-17 14:29:28,000 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,004 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,005 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pagure_user_visit (
    id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    visit_key VARCHAR(40) NOT NULL, 
    user_ip VARCHAR(50) NOT NULL, 
    created DATETIME NOT NULL, 
    expiry DATETIME, 
    CONSTRAINT pagure_user_visit_pkey PRIMARY KEY (id), 
    CONSTRAINT pagure_user_visit_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id)
)


2022-02-17 14:29:28,005 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,011 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,012 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_pagure_user_visit_pagure_user_visit_visit_key ON pagure_user_visit (visit_key)
2022-02-17 14:29:28,012 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,017 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,019 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE project_locks (
    project_id INTEGER NOT NULL, 
    lock_type VARCHAR(14) NOT NULL, 
    CONSTRAINT project_locks_pkey PRIMARY KEY (project_id, lock_type), 
    CONSTRAINT project_locks_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT lock_type_enum CHECK (lock_type IN ('WORKER', 'WORKER_TICKET', 'WORKER_REQUEST'))
)


2022-02-17 14:29:28,019 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,025 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,026 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE user_projects (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    access VARCHAR(255) NOT NULL, 
    branches TEXT, 
    CONSTRAINT user_projects_pkey PRIMARY KEY (id), 
    CONSTRAINT user_projects_project_id_key UNIQUE (project_id, user_id, access), 
    CONSTRAINT user_projects_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON UPDATE CASCADE, 
    CONSTRAINT user_projects_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT user_projects_access_fkey FOREIGN KEY(access) REFERENCES access_levels (access) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,026 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,033 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,033 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_user_projects_user_projects_user_id ON user_projects (user_id)
2022-02-17 14:29:28,033 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,039 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,040 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE sshkeys (
    id INTEGER NOT NULL, 
    project_id INTEGER, 
    pushaccess BOOLEAN NOT NULL, 
    user_id INTEGER, 
    public_ssh_key TEXT NOT NULL, 
    ssh_short_key TEXT NOT NULL, 
    ssh_search_key VARCHAR(60) NOT NULL, 
    creator_user_id INTEGER NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT sshkeys_pkey PRIMARY KEY (id), 
    CONSTRAINT sshkeys_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (pushaccess IN (0, 1)), 
    CONSTRAINT sshkeys_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT sshkeys_creator_user_id_fkey FOREIGN KEY(creator_user_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,041 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,046 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,046 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_sshkeys_sshkeys_creator_user_id ON sshkeys (creator_user_id)
2022-02-17 14:29:28,047 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,053 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,053 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_sshkeys_sshkeys_project_id ON sshkeys (project_id)
2022-02-17 14:29:28,053 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,059 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,060 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_sshkeys_sshkeys_ssh_search_key ON sshkeys (ssh_search_key)
2022-02-17 14:29:28,060 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,065 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,066 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_sshkeys_sshkeys_user_id ON sshkeys (user_id)
2022-02-17 14:29:28,066 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,071 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,073 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE issues (
    id INTEGER NOT NULL, 
    uid VARCHAR(32) NOT NULL, 
    project_id INTEGER NOT NULL, 
    title TEXT NOT NULL, 
    content TEXT NOT NULL, 
    user_id INTEGER NOT NULL, 
    assignee_id INTEGER, 
    status VARCHAR(255) NOT NULL, 
    private BOOLEAN NOT NULL, 
    priority INTEGER, 
    milestone VARCHAR(255), 
    close_status TEXT, 
    date_created DATETIME NOT NULL, 
    last_updated DATETIME NOT NULL, 
    closed_at DATETIME, 
    closed_by_id INTEGER, 
    CONSTRAINT issues_pkey PRIMARY KEY (id, project_id), 
    CONSTRAINT issues_uid_key UNIQUE (uid), 
    CONSTRAINT issues_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON UPDATE CASCADE, 
    CONSTRAINT issues_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT issues_assignee_id_fkey FOREIGN KEY(assignee_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT issues_status_fkey FOREIGN KEY(status) REFERENCES status_issue (status) ON UPDATE CASCADE, 
    CHECK (private IN (0, 1)), 
    CONSTRAINT issues_closed_by_id_fkey FOREIGN KEY(closed_by_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,073 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,080 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,080 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_issues_issues_user_id ON issues (user_id)
2022-02-17 14:29:28,080 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,086 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,087 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_issues_issues_assignee_id ON issues (assignee_id)
2022-02-17 14:29:28,087 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,092 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,094 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE issue_keys (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    name VARCHAR(255) NOT NULL, 
    key_type VARCHAR(255) NOT NULL, 
    key_data TEXT, 
    key_notify BOOLEAN NOT NULL, 
    CONSTRAINT issue_keys_pkey PRIMARY KEY (id), 
    CONSTRAINT issue_keys_project_id_key UNIQUE (project_id, name), 
    CONSTRAINT issue_keys_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (key_notify IN (0, 1))
)


2022-02-17 14:29:28,094 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,100 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,102 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tags_colored (
    id INTEGER NOT NULL, 
    tag VARCHAR(255) NOT NULL, 
    tag_description VARCHAR(255), 
    project_id INTEGER NOT NULL, 
    tag_color VARCHAR(25), 
    date_created DATETIME NOT NULL, 
    CONSTRAINT tags_colored_pkey PRIMARY KEY (id), 
    CONSTRAINT tags_colored_project_id_key UNIQUE (project_id, tag), 
    CONSTRAINT tags_colored_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,102 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,108 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,109 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tags_projects (
    tag VARCHAR(255) NOT NULL, 
    project_id INTEGER NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT tags_projects_pkey PRIMARY KEY (tag, project_id), 
    CONSTRAINT tags_projects_tag_fkey FOREIGN KEY(tag) REFERENCES tags (tag) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT tags_projects_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,109 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,114 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,116 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pull_requests (
    id INTEGER NOT NULL, 
    uid VARCHAR(32) NOT NULL, 
    title TEXT NOT NULL, 
    project_id INTEGER NOT NULL, 
    branch TEXT NOT NULL, 
    project_id_from INTEGER, 
    remote_git TEXT, 
    branch_from TEXT NOT NULL, 
    commit_start TEXT, 
    commit_stop TEXT, 
    initial_comment TEXT, 
    user_id INTEGER NOT NULL, 
    assignee_id INTEGER, 
    merge_status VARCHAR(9), 
    allow_rebase BOOLEAN NOT NULL, 
    private BOOLEAN NOT NULL, 
    status VARCHAR(255) NOT NULL, 
    closed_by_id INTEGER, 
    closed_at DATETIME, 
    date_created DATETIME NOT NULL, 
    updated_on DATETIME NOT NULL, 
    last_updated DATETIME NOT NULL, 
    CONSTRAINT pull_requests_pkey PRIMARY KEY (id, project_id), 
    CONSTRAINT pull_requests_uid_key UNIQUE (uid), 
    CONSTRAINT pull_requests_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pull_requests_project_id_from_fkey FOREIGN KEY(project_id_from) REFERENCES projects (id) ON DELETE SET NULL ON UPDATE CASCADE, 
    CONSTRAINT pull_requests_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT pull_requests_assignee_id_fkey FOREIGN KEY(assignee_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT merge_status_enum CHECK (merge_status IN ('NO_CHANGE', 'FFORWARD', 'CONFLICTS', 'MERGE')), 
    CHECK (allow_rebase IN (0, 1)), 
    CHECK (private IN (0, 1)), 
    CONSTRAINT pull_requests_status_fkey FOREIGN KEY(status) REFERENCES status_pull_requests (status) ON UPDATE CASCADE, 
    CONSTRAINT pull_requests_closed_by_id_fkey FOREIGN KEY(closed_by_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,116 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,124 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,125 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pull_requests_pull_requests_assignee_id ON pull_requests (assignee_id)
2022-02-17 14:29:28,125 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,131 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,132 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pull_requests_pull_requests_user_id ON pull_requests (user_id)
2022-02-17 14:29:28,132 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,139 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,139 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE projects_groups (
    project_id INTEGER NOT NULL, 
    group_id INTEGER NOT NULL, 
    access VARCHAR(255) NOT NULL, 
    branches TEXT, 
    CONSTRAINT projects_groups_pkey PRIMARY KEY (project_id, group_id), 
    CONSTRAINT projects_groups_project_id_key UNIQUE (project_id, group_id), 
    CONSTRAINT projects_groups_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT projects_groups_group_id_fkey FOREIGN KEY(group_id) REFERENCES pagure_group (id), 
    CONSTRAINT projects_groups_access_fkey FOREIGN KEY(access) REFERENCES access_levels (access) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,139 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,147 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,148 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE stargazers (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    CONSTRAINT stargazers_pkey PRIMARY KEY (id), 
    CONSTRAINT uq_stargazers_project_id_user_id_key UNIQUE (project_id, user_id), 
    CONSTRAINT stargazers_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT stargazers_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,148 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,155 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,156 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_stargazers_stargazers_project_id ON stargazers (project_id)
2022-02-17 14:29:28,156 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,161 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,163 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE watchers (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    user_id INTEGER NOT NULL, 
    watch_issues BOOLEAN NOT NULL, 
    watch_commits BOOLEAN NOT NULL, 
    CONSTRAINT watchers_pkey PRIMARY KEY (id), 
    CONSTRAINT watchers_project_id_key UNIQUE (project_id, user_id), 
    CONSTRAINT watchers_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON UPDATE CASCADE, 
    CONSTRAINT watchers_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CHECK (watch_issues IN (0, 1)), 
    CHECK (watch_commits IN (0, 1))
)


2022-02-17 14:29:28,163 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,170 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,170 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_watchers_watchers_user_id ON watchers (user_id)
2022-02-17 14:29:28,170 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,176 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,177 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tokens (
    id VARCHAR(64) NOT NULL, 
    user_id INTEGER NOT NULL, 
    project_id INTEGER, 
    description TEXT, 
    expiration DATETIME NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT tokens_pkey PRIMARY KEY (id), 
    CONSTRAINT tokens_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT tokens_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,177 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,183 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,183 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_tokens_tokens_user_id ON tokens (user_id)
2022-02-17 14:29:28,183 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,190 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,190 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_tokens_tokens_project_id ON tokens (project_id)
2022-02-17 14:29:28,190 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,197 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,198 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pagure_user_group (
    user_id INTEGER NOT NULL, 
    group_id INTEGER NOT NULL, 
    CONSTRAINT pagure_user_group_pkey PRIMARY KEY (user_id, group_id), 
    CONSTRAINT pagure_user_group_user_id_key UNIQUE (user_id, group_id), 
    CONSTRAINT pagure_user_group_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id), 
    CONSTRAINT pagure_user_group_group_id_fkey FOREIGN KEY(group_id) REFERENCES pagure_group (id)
)


2022-02-17 14:29:28,199 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,205 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,207 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_fedmsg (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_fedmsg_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_fedmsg_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,207 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,213 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,214 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_fedmsg_hook_fedmsg_project_id ON hook_fedmsg (project_id)
2022-02-17 14:29:28,214 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,220 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,221 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_mirror (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    public_key TEXT, 
    target TEXT, 
    last_log TEXT, 
    CONSTRAINT hook_mirror_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_mirror_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,221 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,227 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,228 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_mirror_hook_mirror_project_id ON hook_mirror (project_id)
2022-02-17 14:29:28,228 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,234 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,235 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure_unsigned_commit (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_unsigned_commit_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_unsigned_commit_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,235 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,241 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,241 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_unsigned_commit_hook_pagure_unsigned_commit_project_id ON hook_pagure_unsigned_commit (project_id)
2022-02-17 14:29:28,241 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,247 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,248 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure_force_commit (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    branches TEXT NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_force_commit_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_force_commit_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,248 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,254 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,254 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_force_commit_hook_pagure_force_commit_project_id ON hook_pagure_force_commit (project_id)
2022-02-17 14:29:28,254 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,259 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,260 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure_no_new_branches (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_no_new_branches_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_no_new_branches_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,261 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,266 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,266 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_no_new_branches_hook_pagure_no_new_branches_project_id ON hook_pagure_no_new_branches (project_id)
2022-02-17 14:29:28,266 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,274 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,275 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure_tickets (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_tickets_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_tickets_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,275 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,280 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,280 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_tickets_hook_pagure_tickets_project_id ON hook_pagure_tickets (project_id)
2022-02-17 14:29:28,280 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,286 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,287 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_rtd (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    branches TEXT, 
    api_url TEXT NOT NULL, 
    api_token TEXT NOT NULL, 
    CONSTRAINT hook_rtd_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_rtd_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,287 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,293 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,293 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_rtd_hook_rtd_project_id ON hook_rtd (project_id)
2022-02-17 14:29:28,293 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,298 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,299 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,299 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,305 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,305 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_hook_pagure_project_id ON hook_pagure (project_id)
2022-02-17 14:29:28,305 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,311 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,312 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_mail (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    mail_to TEXT NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_mail_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_mail_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,312 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,316 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,317 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_mail_hook_mail_project_id ON hook_mail (project_id)
2022-02-17 14:29:28,317 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,323 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,324 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure_requests (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    active BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_requests_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_requests_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1))
)


2022-02-17 14:29:28,324 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,329 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,330 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_requests_hook_pagure_requests_project_id ON hook_pagure_requests (project_id)
2022-02-17 14:29:28,330 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,334 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,336 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_pagure_ci (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    pagure_ci_token VARCHAR(32), 
    ci_type VARCHAR(255), 
    ci_url VARCHAR(255), 
    ci_job VARCHAR(255), 
    ci_username VARCHAR(255), 
    ci_password VARCHAR(255), 
    active BOOLEAN NOT NULL, 
    active_commit BOOLEAN NOT NULL, 
    active_pr BOOLEAN NOT NULL, 
    CONSTRAINT hook_pagure_ci_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_pagure_ci_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1)), 
    CHECK (active_commit IN (0, 1)), 
    CHECK (active_pr IN (0, 1))
)


2022-02-17 14:29:28,336 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,342 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,342 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_pagure_ci_hook_pagure_ci_project_id ON hook_pagure_ci (project_id)
2022-02-17 14:29:28,343 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,348 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,348 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_hook_pagure_ci_hook_pagure_ci_pagure_ci_token ON hook_pagure_ci (pagure_ci_token)
2022-02-17 14:29:28,348 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,354 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,356 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE hook_irc (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    server TEXT NOT NULL, 
    port TEXT NOT NULL, 
    room TEXT NOT NULL, 
    nick TEXT, 
    nick_pass TEXT, 
    active BOOLEAN NOT NULL, 
    "join" BOOLEAN NOT NULL, 
    ssl BOOLEAN NOT NULL, 
    CONSTRAINT hook_irc_pkey PRIMARY KEY (id), 
    CONSTRAINT hook_irc_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1)), 
    CHECK ("join" IN (0, 1)), 
    CHECK (ssl IN (0, 1))
)


2022-02-17 14:29:28,356 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,363 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,364 INFO sqlalchemy.engine.base.Engine CREATE UNIQUE INDEX ix_hook_irc_hook_irc_project_id ON hook_irc (project_id)
2022-02-17 14:29:28,364 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,371 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,371 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE issue_to_issue (
    parent_issue_id VARCHAR(32) NOT NULL, 
    child_issue_id VARCHAR(32) NOT NULL, 
    CONSTRAINT issue_to_issue_pkey PRIMARY KEY (parent_issue_id, child_issue_id), 
    CONSTRAINT issue_to_issue_parent_issue_id_fkey FOREIGN KEY(parent_issue_id) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT issue_to_issue_child_issue_id_fkey FOREIGN KEY(child_issue_id) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,371 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,377 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,378 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pr_to_issue (
    pull_request_uid VARCHAR(32) NOT NULL, 
    issue_uid VARCHAR(32) NOT NULL, 
    origin VARCHAR(32), 
    CONSTRAINT pr_to_issue_pkey PRIMARY KEY (pull_request_uid, issue_uid), 
    CONSTRAINT pr_to_issue_pull_request_uid_fkey FOREIGN KEY(pull_request_uid) REFERENCES pull_requests (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pr_to_issue_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,378 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,385 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,386 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pr_to_issue_pr_to_issue_origin ON pr_to_issue (origin)
2022-02-17 14:29:28,386 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,391 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,392 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE issue_comments (
    id INTEGER NOT NULL, 
    issue_uid VARCHAR(32), 
    comment TEXT NOT NULL, 
    parent_id INTEGER, 
    user_id INTEGER NOT NULL, 
    notification BOOLEAN NOT NULL, 
    edited_on DATETIME, 
    editor_id INTEGER, 
    date_created DATETIME NOT NULL, 
    _reactions TEXT, 
    CONSTRAINT issue_comments_pkey PRIMARY KEY (id), 
    CONSTRAINT issue_comments_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT issue_comments_parent_id_fkey FOREIGN KEY(parent_id) REFERENCES issue_comments (id) ON UPDATE CASCADE, 
    CONSTRAINT issue_comments_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CHECK (notification IN (0, 1)), 
    CONSTRAINT issue_comments_editor_id_fkey FOREIGN KEY(editor_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,393 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,398 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,399 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_issue_comments_issue_comments_user_id ON issue_comments (user_id)
2022-02-17 14:29:28,399 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,405 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,406 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_issue_comments_issue_comments_issue_uid ON issue_comments (issue_uid)
2022-02-17 14:29:28,406 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,412 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,412 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE issue_values (
    key_id INTEGER NOT NULL, 
    issue_uid VARCHAR(32) NOT NULL, 
    value TEXT NOT NULL, 
    CONSTRAINT issue_values_pkey PRIMARY KEY (key_id, issue_uid), 
    CONSTRAINT issue_values_key_id_fkey FOREIGN KEY(key_id) REFERENCES issue_keys (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT issue_values_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,413 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,418 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,419 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tags_issues (
    tag VARCHAR(255) NOT NULL, 
    issue_uid VARCHAR(32) NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT tags_issues_pkey PRIMARY KEY (tag, issue_uid), 
    CONSTRAINT tags_issues_tag_fkey FOREIGN KEY(tag) REFERENCES tags (tag) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT tags_issues_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,419 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,424 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,425 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tags_issues_colored (
    tag_id INTEGER NOT NULL, 
    issue_uid VARCHAR(32) NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT tags_issues_colored_pkey PRIMARY KEY (tag_id, issue_uid), 
    CONSTRAINT tags_issues_colored_tag_id_fkey FOREIGN KEY(tag_id) REFERENCES tags_colored (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT tags_issues_colored_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,425 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,431 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,432 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pull_request_comments (
    id INTEGER NOT NULL, 
    pull_request_uid VARCHAR(32) NOT NULL, 
    commit_id VARCHAR(40), 
    user_id INTEGER NOT NULL, 
    filename TEXT, 
    line INTEGER, 
    tree_id VARCHAR(40), 
    comment TEXT NOT NULL, 
    parent_id INTEGER, 
    notification BOOLEAN NOT NULL, 
    edited_on DATETIME, 
    editor_id INTEGER, 
    date_created DATETIME NOT NULL, 
    _reactions TEXT, 
    CONSTRAINT pull_request_comments_pkey PRIMARY KEY (id), 
    CONSTRAINT pull_request_comments_pull_request_uid_fkey FOREIGN KEY(pull_request_uid) REFERENCES pull_requests (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pull_request_comments_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE, 
    CONSTRAINT pull_request_comments_parent_id_fkey FOREIGN KEY(parent_id) REFERENCES pull_request_comments (id) ON UPDATE CASCADE, 
    CHECK (notification IN (0, 1)), 
    CONSTRAINT pull_request_comments_editor_id_fkey FOREIGN KEY(editor_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,432 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,438 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,438 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pull_request_comments_pull_request_comments_user_id ON pull_request_comments (user_id)
2022-02-17 14:29:28,438 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,444 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,444 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pull_request_comments_pull_request_comments_commit_id ON pull_request_comments (commit_id)
2022-02-17 14:29:28,444 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,450 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,452 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pull_request_flags (
    id INTEGER NOT NULL, 
    uid VARCHAR(32) NOT NULL, 
    pull_request_uid VARCHAR(32) NOT NULL, 
    token_id VARCHAR(64), 
    status VARCHAR(32) NOT NULL, 
    user_id INTEGER NOT NULL, 
    username TEXT NOT NULL, 
    percent INTEGER, 
    comment TEXT NOT NULL, 
    url TEXT NOT NULL, 
    date_created DATETIME NOT NULL, 
    date_updated DATETIME NOT NULL, 
    CONSTRAINT pull_request_flags_pkey PRIMARY KEY (id), 
    CONSTRAINT pull_request_flags_uid_key UNIQUE (uid, pull_request_uid), 
    CONSTRAINT pull_request_flags_pull_request_uid_fkey FOREIGN KEY(pull_request_uid) REFERENCES pull_requests (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pull_request_flags_token_id_fkey FOREIGN KEY(token_id) REFERENCES tokens (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pull_request_flags_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,452 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,459 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,459 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pull_request_flags_pull_request_flags_user_id ON pull_request_flags (user_id)
2022-02-17 14:29:28,459 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,464 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,466 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE commit_flags (
    id INTEGER NOT NULL, 
    commit_hash VARCHAR(40) NOT NULL, 
    project_id INTEGER NOT NULL, 
    token_id VARCHAR(64), 
    user_id INTEGER NOT NULL, 
    uid VARCHAR(32) NOT NULL, 
    status VARCHAR(32) NOT NULL, 
    username TEXT NOT NULL, 
    percent INTEGER, 
    comment TEXT NOT NULL, 
    url TEXT NOT NULL, 
    date_created DATETIME NOT NULL, 
    date_updated DATETIME NOT NULL, 
    CONSTRAINT commit_flags_pkey PRIMARY KEY (id), 
    CONSTRAINT commit_flags_commit_hash_key UNIQUE (commit_hash, uid), 
    CONSTRAINT commit_flags_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT commit_flags_token_id_fkey FOREIGN KEY(token_id) REFERENCES tokens (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT commit_flags_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,466 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,471 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,472 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_commit_flags_commit_flags_commit_hash ON commit_flags (commit_hash)
2022-02-17 14:29:28,472 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,477 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,478 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_commit_flags_commit_flags_user_id ON commit_flags (user_id)
2022-02-17 14:29:28,478 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,483 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,484 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_commit_flags_commit_flags_project_id ON commit_flags (project_id)
2022-02-17 14:29:28,484 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,490 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,490 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tags_pull_requests (
    tag_id INTEGER NOT NULL, 
    request_uid VARCHAR(32) NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT tags_pull_requests_pkey PRIMARY KEY (tag_id, request_uid), 
    CONSTRAINT tags_pull_requests_tag_id_fkey FOREIGN KEY(tag_id) REFERENCES tags_colored (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT tags_pull_requests_request_uid_fkey FOREIGN KEY(request_uid) REFERENCES pull_requests (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,491 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,507 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,507 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pagure_logs (
    id INTEGER NOT NULL, 
    user_id INTEGER, 
    user_email VARCHAR(255), 
    project_id INTEGER, 
    issue_uid VARCHAR(32), 
    pull_request_uid VARCHAR(32), 
    log_type TEXT NOT NULL, 
    ref_id TEXT NOT NULL, 
    date DATE NOT NULL, 
    date_created DATETIME NOT NULL, 
    CONSTRAINT pagure_logs_pkey PRIMARY KEY (id), 
    CONSTRAINT pagure_logs_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pagure_logs_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pagure_logs_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pagure_logs_pull_request_uid_fkey FOREIGN KEY(pull_request_uid) REFERENCES pull_requests (uid) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,508 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,513 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,513 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_issue_uid ON pagure_logs (issue_uid)
2022-02-17 14:29:28,513 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,518 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,519 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_user_email ON pagure_logs (user_email)
2022-02-17 14:29:28,519 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,524 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,525 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_date ON pagure_logs (date)
2022-02-17 14:29:28,525 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,530 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,530 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_pull_request_uid ON pagure_logs (pull_request_uid)
2022-02-17 14:29:28,530 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,535 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,536 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_user_id ON pagure_logs (user_id)
2022-02-17 14:29:28,536 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,541 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,541 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_project_id ON pagure_logs (project_id)
2022-02-17 14:29:28,541 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,547 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,547 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pagure_logs_pagure_logs_date_created ON pagure_logs (date_created)
2022-02-17 14:29:28,547 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,552 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,553 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE issue_watchers (
    id INTEGER NOT NULL, 
    issue_uid VARCHAR(32) NOT NULL, 
    user_id INTEGER NOT NULL, 
    watch BOOLEAN NOT NULL, 
    CONSTRAINT issue_watchers_pkey PRIMARY KEY (id), 
    CONSTRAINT issue_watchers_issue_uid_key UNIQUE (issue_uid, user_id), 
    CONSTRAINT issue_watchers_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT issue_watchers_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (watch IN (0, 1))
)


2022-02-17 14:29:28,553 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,559 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,559 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_issue_watchers_issue_watchers_user_id ON issue_watchers (user_id)
2022-02-17 14:29:28,559 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,564 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,565 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE pull_request_watchers (
    id INTEGER NOT NULL, 
    pull_request_uid VARCHAR(32) NOT NULL, 
    user_id INTEGER NOT NULL, 
    watch BOOLEAN NOT NULL, 
    CONSTRAINT pull_request_watchers_pkey PRIMARY KEY (id), 
    CONSTRAINT pull_request_watchers_pull_request_uid_key UNIQUE (pull_request_uid, user_id), 
    CONSTRAINT pull_request_watchers_pull_request_uid_fkey FOREIGN KEY(pull_request_uid) REFERENCES pull_requests (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT pull_request_watchers_user_id_fkey FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (watch IN (0, 1))
)


2022-02-17 14:29:28,565 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,571 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,571 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_pull_request_watchers_pull_request_watchers_user_id ON pull_request_watchers (user_id)
2022-02-17 14:29:28,571 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,577 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,577 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE tokens_acls (
    token_id VARCHAR(64) NOT NULL, 
    acl_id INTEGER NOT NULL, 
    CONSTRAINT tokens_acls_pkey PRIMARY KEY (token_id, acl_id), 
    CONSTRAINT tokens_acls_token_id_key UNIQUE (token_id, acl_id), 
    CONSTRAINT tokens_acls_token_id_fkey FOREIGN KEY(token_id) REFERENCES tokens (id), 
    CONSTRAINT tokens_acls_acl_id_fkey FOREIGN KEY(acl_id) REFERENCES acls (id)
)


2022-02-17 14:29:28,578 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,583 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,584 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE boards (
    id INTEGER NOT NULL, 
    project_id INTEGER NOT NULL, 
    name VARCHAR(255) NOT NULL, 
    active BOOLEAN NOT NULL, 
    tag_id INTEGER NOT NULL, 
    created DATETIME NOT NULL, 
    date_updated DATETIME NOT NULL, 
    CONSTRAINT boards_pkey PRIMARY KEY (id), 
    CONSTRAINT boards_project_id_name_uix UNIQUE (project_id, name), 
    CONSTRAINT boards_project_id_fkey FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK (active IN (0, 1)), 
    CONSTRAINT boards_tag_id_fkey FOREIGN KEY(tag_id) REFERENCES tags_colored (id) ON UPDATE CASCADE
)


2022-02-17 14:29:28,584 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,589 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,589 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_boards_boards_project_id ON boards (project_id)
2022-02-17 14:29:28,589 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,595 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,596 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE board_statuses (
    id INTEGER NOT NULL, 
    board_id INTEGER NOT NULL, 
    name VARCHAR(128) NOT NULL, 
    rank INTEGER NOT NULL, 
    "default" BOOLEAN NOT NULL, 
    bg_color VARCHAR(32) NOT NULL, 
    close BOOLEAN NOT NULL, 
    close_status TEXT, 
    created DATETIME NOT NULL, 
    CONSTRAINT board_statuses_pkey PRIMARY KEY (id), 
    CONSTRAINT board_statuses_board_id_name_uix UNIQUE (board_id, name), 
    CONSTRAINT board_statuses_board_id_fkey FOREIGN KEY(board_id) REFERENCES boards (id) ON DELETE CASCADE ON UPDATE CASCADE, 
    CHECK ("default" IN (0, 1)), 
    CHECK (close IN (0, 1))
)


2022-02-17 14:29:28,596 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,602 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,603 INFO sqlalchemy.engine.base.Engine CREATE INDEX ix_board_statuses_board_statuses_board_id ON board_statuses (board_id)
2022-02-17 14:29:28,603 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,608 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,609 INFO sqlalchemy.engine.base.Engine 
CREATE TABLE boards_issues (
    issue_uid VARCHAR(32) NOT NULL, 
    status_id INTEGER NOT NULL, 
    rank INTEGER NOT NULL, 
    created DATETIME NOT NULL, 
    CONSTRAINT boards_issues_pkey PRIMARY KEY (issue_uid, status_id), 
    CONSTRAINT boards_issues_status_id_issue_uid_uix UNIQUE (status_id, issue_uid), 
    CONSTRAINT boards_issues_issue_uid_fkey FOREIGN KEY(issue_uid) REFERENCES issues (uid) ON DELETE CASCADE ON UPDATE CASCADE, 
    CONSTRAINT boards_issues_status_id_fkey FOREIGN KEY(status_id) REFERENCES board_statuses (id) ON DELETE CASCADE ON UPDATE CASCADE
)


2022-02-17 14:29:28,609 INFO sqlalchemy.engine.base.Engine ()
2022-02-17 14:29:28,616 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,757 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,758 INFO sqlalchemy.engine.base.Engine INSERT INTO status_issue (status) VALUES (?)
2022-02-17 14:29:28,758 INFO sqlalchemy.engine.base.Engine ('Open',)
2022-02-17 14:29:28,760 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,774 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,774 INFO sqlalchemy.engine.base.Engine INSERT INTO status_issue (status) VALUES (?)
2022-02-17 14:29:28,774 INFO sqlalchemy.engine.base.Engine ('Closed',)
2022-02-17 14:29:28,775 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,781 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,781 INFO sqlalchemy.engine.base.Engine INSERT INTO status_pull_requests (status) VALUES (?)
2022-02-17 14:29:28,782 INFO sqlalchemy.engine.base.Engine ('Open',)
2022-02-17 14:29:28,784 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,789 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,789 INFO sqlalchemy.engine.base.Engine INSERT INTO status_pull_requests (status) VALUES (?)
2022-02-17 14:29:28,789 INFO sqlalchemy.engine.base.Engine ('Closed',)
2022-02-17 14:29:28,791 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,796 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,796 INFO sqlalchemy.engine.base.Engine INSERT INTO status_pull_requests (status) VALUES (?)
2022-02-17 14:29:28,797 INFO sqlalchemy.engine.base.Engine ('Merged',)
2022-02-17 14:29:28,798 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,804 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,805 INFO sqlalchemy.engine.base.Engine INSERT INTO pagure_group_type (group_type, created) VALUES (?, ?)
2022-02-17 14:29:28,805 INFO sqlalchemy.engine.base.Engine ('user', '2022-02-17 13:29:28.805185')
2022-02-17 14:29:28,807 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,813 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,813 INFO sqlalchemy.engine.base.Engine INSERT INTO pagure_group_type (group_type, created) VALUES (?, ?)
2022-02-17 14:29:28,813 INFO sqlalchemy.engine.base.Engine ('admin', '2022-02-17 13:29:28.813430')
2022-02-17 14:29:28,815 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,821 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,822 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,822 INFO sqlalchemy.engine.base.Engine ('commit', 'Commit to a git repository via http(s)', '2022-02-17 13:29:28.822050')
2022-02-17 14:29:28,824 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,830 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,830 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,830 INFO sqlalchemy.engine.base.Engine ('commit_flag', 'Flag a commit', '2022-02-17 13:29:28.830462')
2022-02-17 14:29:28,833 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,838 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,839 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,839 INFO sqlalchemy.engine.base.Engine ('create_branch', 'Create a git branch on a project', '2022-02-17 13:29:28.839007')
2022-02-17 14:29:28,841 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,847 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,847 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,847 INFO sqlalchemy.engine.base.Engine ('create_git_alias', 'Create git aliases', '2022-02-17 13:29:28.847403')
2022-02-17 14:29:28,849 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,855 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,855 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,855 INFO sqlalchemy.engine.base.Engine ('create_project', 'Create a new project', '2022-02-17 13:29:28.855584')
2022-02-17 14:29:28,858 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,863 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,864 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,864 INFO sqlalchemy.engine.base.Engine ('delete_git_alias', 'Delete git aliases', '2022-02-17 13:29:28.864023')
2022-02-17 14:29:28,866 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,871 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,872 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,872 INFO sqlalchemy.engine.base.Engine ('fork_project', 'Fork a project', '2022-02-17 13:29:28.872208')
2022-02-17 14:29:28,874 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,880 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,880 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,880 INFO sqlalchemy.engine.base.Engine ('generate_acls_project', 'Generate the Gitolite ACLs on a project', '2022-02-17 13:29:28.880613')
2022-02-17 14:29:28,883 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,888 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,889 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,889 INFO sqlalchemy.engine.base.Engine ('internal_access', "Access Pagure's internal APIs", '2022-02-17 13:29:28.889296')
2022-02-17 14:29:28,891 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,897 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,897 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,897 INFO sqlalchemy.engine.base.Engine ('issue_assign', 'Assign issue to someone', '2022-02-17 13:29:28.897743')
2022-02-17 14:29:28,899 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,905 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,905 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,906 INFO sqlalchemy.engine.base.Engine ('issue_change_status', 'Change the status of a ticket', '2022-02-17 13:29:28.905924')
2022-02-17 14:29:28,908 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,913 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,914 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,914 INFO sqlalchemy.engine.base.Engine ('issue_comment', 'Comment on a ticket', '2022-02-17 13:29:28.914189')
2022-02-17 14:29:28,916 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,922 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,923 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,923 INFO sqlalchemy.engine.base.Engine ('issue_create', 'Create a new ticket', '2022-02-17 13:29:28.923037')
2022-02-17 14:29:28,925 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,930 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,931 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,931 INFO sqlalchemy.engine.base.Engine ('issue_subscribe', 'Subscribe the user with this token to an issue', '2022-02-17 13:29:28.931208')
2022-02-17 14:29:28,933 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,938 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,939 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,939 INFO sqlalchemy.engine.base.Engine ('issue_update', 'Update an issue, status, comments, custom fields...', '2022-02-17 13:29:28.939215')
2022-02-17 14:29:28,942 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,947 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,947 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,947 INFO sqlalchemy.engine.base.Engine ('issue_update_custom_fields', 'Update the custom fields of an issue', '2022-02-17 13:29:28.947428')
2022-02-17 14:29:28,949 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,955 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,955 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,955 INFO sqlalchemy.engine.base.Engine ('issue_update_milestone', 'Update the milestone of an issue', '2022-02-17 13:29:28.955641')
2022-02-17 14:29:28,957 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,963 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,963 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,963 INFO sqlalchemy.engine.base.Engine ('modify_git_alias', 'Modify git aliases (create or delete)', '2022-02-17 13:29:28.963842')
2022-02-17 14:29:28,966 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,972 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,972 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,972 INFO sqlalchemy.engine.base.Engine ('modify_project', 'Modify an existing project', '2022-02-17 13:29:28.972523')
2022-02-17 14:29:28,975 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,980 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,981 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,981 INFO sqlalchemy.engine.base.Engine ('pull_request_assign', 'Assign someone to a pull-request', '2022-02-17 13:29:28.981156')
2022-02-17 14:29:28,983 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,989 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,989 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,989 INFO sqlalchemy.engine.base.Engine ('pull_request_close', 'Close a pull-request', '2022-02-17 13:29:28.989465')
2022-02-17 14:29:28,991 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:28,997 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:28,997 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:28,997 INFO sqlalchemy.engine.base.Engine ('pull_request_comment', 'Comment on a pull-request', '2022-02-17 13:29:28.997509')
2022-02-17 14:29:28,999 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,005 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,005 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,006 INFO sqlalchemy.engine.base.Engine ('pull_request_create', 'Open a new pull-request', '2022-02-17 13:29:29.005958')
2022-02-17 14:29:29,008 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,013 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,014 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,014 INFO sqlalchemy.engine.base.Engine ('pull_request_flag', 'Flag a pull-request', '2022-02-17 13:29:29.014114')
2022-02-17 14:29:29,016 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,021 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,022 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,022 INFO sqlalchemy.engine.base.Engine ('pull_request_merge', 'Merge a pull-request', '2022-02-17 13:29:29.022284')
2022-02-17 14:29:29,024 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,030 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,030 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,030 INFO sqlalchemy.engine.base.Engine ('pull_request_rebase', 'Rebase a pull-request', '2022-02-17 13:29:29.030526')
2022-02-17 14:29:29,032 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,038 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,038 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,038 INFO sqlalchemy.engine.base.Engine ('pull_request_subscribe', 'Subscribe the user with this token to a pull-request', '2022-02-17 13:29:29.038584')
2022-02-17 14:29:29,040 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,046 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,046 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,046 INFO sqlalchemy.engine.base.Engine ('pull_request_update', 'Update a pull-request (title, description, assignee...)', '2022-02-17 13:29:29.046697')
2022-02-17 14:29:29,049 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,054 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,055 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,055 INFO sqlalchemy.engine.base.Engine ('tag_project', 'Allows adding git tags to a project', '2022-02-17 13:29:29.055206')
2022-02-17 14:29:29,058 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,063 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,064 INFO sqlalchemy.engine.base.Engine INSERT INTO acls (name, description, created) VALUES (?, ?, ?)
2022-02-17 14:29:29,064 INFO sqlalchemy.engine.base.Engine ('update_watch_status', 'Update the watch status on a project', '2022-02-17 13:29:29.064078')
2022-02-17 14:29:29,066 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,072 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,072 INFO sqlalchemy.engine.base.Engine INSERT INTO access_levels (access) VALUES (?)
2022-02-17 14:29:29,073 INFO sqlalchemy.engine.base.Engine ('ticket',)
2022-02-17 14:29:29,075 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,081 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,081 INFO sqlalchemy.engine.base.Engine INSERT INTO access_levels (access) VALUES (?)
2022-02-17 14:29:29,081 INFO sqlalchemy.engine.base.Engine ('collaborator',)
2022-02-17 14:29:29,084 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,089 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,090 INFO sqlalchemy.engine.base.Engine INSERT INTO access_levels (access) VALUES (?)
2022-02-17 14:29:29,090 INFO sqlalchemy.engine.base.Engine ('commit',)
2022-02-17 14:29:29,092 INFO sqlalchemy.engine.base.Engine COMMIT
2022-02-17 14:29:29,098 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2022-02-17 14:29:29,099 INFO sqlalchemy.engine.base.Engine INSERT INTO access_levels (access) VALUES (?)
2022-02-17 14:29:29,099 INFO sqlalchemy.engine.base.Engine ('admin',)
2022-02-17 14:29:29,102 INFO sqlalchemy.engine.base.Engine COMMIT

@zlopez yes, but if you read the issue it's not about creating a new instance from scratch (that is working fine) but when running the alembic script when importing a DB from pagure 5.8

@arrfab Yes, I noticed that, but I saw that you also had issues creating a db from scratch

So I tried to generate the DB when being on the 5.8 tag in repo, but the error I get when upgrading to 5.13 version is different:

alembic-3 --config /etc/pagure/alembic.ini upgrade head     
Using configuration file `/etc/pagure/pagure.cfg`                                                                      
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.                                                             
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> b5efae6bb23, Add merge status to the pull_requests table
Traceback (most recent call last):        
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context                                                                             
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: duplicate column name: merge_status                                        

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==1.0.11', 'console_scripts', 'alembic')()                    
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 540, in main
    CommandLine(prog=prog).main(argv=argv)                                                                             
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 534, in main
    self.run_cmd(cfg, options)                                                                                         
  File "/usr/lib/python3.6/site-packages/alembic/config.py", line 514, in run_cmd
    **dict((k, getattr(options, k, None)) for k in kwarg)                                                              
  File "/usr/lib/python3.6/site-packages/alembic/command.py", line 276, in upgrade
    script.run_env()                                    
  File "/usr/lib/python3.6/site-packages/alembic/script/base.py", line 475, in run_env
  File "/usr/lib/python3.6/site-packages/alembic/util/pyfiles.py", line 90, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/lib/python3.6/site-packages/alembic/util/compat.py", line 177, 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 "/usr/share/pagure/alembic/env.py", line 90, in <module>
    run_migrations_online()
  File "/usr/share/pagure/alembic/env.py", line 84, 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 839, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/lib/python3.6/site-packages/alembic/runtime/migration.py", line 362, in run_migrations
    step.migration_fn(**kw)
  File "/usr/share/pagure/alembic/versions/b5efae6bb23_add_merge_status_to_the_pull_requests_.py", line 28, in upgrade
    sa.Column('merge_status', enum, 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 1904, in add_column
    return operations.invoke(op)
  File "/usr/lib/python3.6/site-packages/alembic/operations/base.py", line 345, in invoke
    return fn(self, operation)
  File "/usr/lib/python3.6/site-packages/alembic/operations/toimpl.py", line 131, in add_column
    operations.impl.add_column(table_name, column, schema=schema)
  File "/usr/lib/python3.6/site-packages/alembic/ddl/impl.py", line 231, in add_column
    self._exec(base.AddColumn(table_name, column, schema=schema))
  File "/usr/lib/python3.6/site-packages/alembic/ddl/impl.py", line 134, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 988, in execute
    return meth(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1050, in _execute_ddl
    compiled,
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 383, 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 128, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) duplicate column name: merge_status
[SQL: ALTER TABLE pull_requests ADD COLUMN merge_status VARCHAR(9)]
(Background on this error at: http://sqlalche.me/e/e3q8)

It seems like the SQLite DB doesn't work well with alembic, the head isn't really shown correctly and the upgrade is executed from initial migration. I will need to probably generate a mysql DB for this.

I will try to use vagrant and check if this is happening there.

You can use alembic stamp to mark the DB as being at a certain revision, which
will allow you to by-pass all the revision which led to the DB model used in 5.8

I found out where the issue is. The incompatibility comes from VARCHAR encoding.
This is the issues table from clear installation.

mysql> show full columns from issues;                                                                                   
+--------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field        | Type         | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+--------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| id           | int          | NULL               | NO   | PRI | NULL    |       | select,insert,update,references |         |
| uid          | varchar(32)  | utf8mb4_0900_ai_ci | NO   | UNI | NULL    |       | select,insert,update,references |         |
| project_id   | int          | NULL               | NO   | PRI | NULL    |       | select,insert,update,references |         |
| title        | text         | utf8mb4_0900_ai_ci | NO   |     | NULL    |       | select,insert,update,references |         |
| content      | text         | utf8mb4_0900_ai_ci | NO   |     | NULL    |       | select,insert,update,references |         |
| user_id      | int          | NULL               | NO   | MUL | NULL    |       | select,insert,update,references |         |
| assignee_id  | int          | NULL               | YES  | MUL | NULL    |       | select,insert,update,references |         |
| status       | varchar(255) | utf8mb4_0900_ai_ci | NO   | MUL | NULL    |       | select,insert,update,references |         |
| private      | tinyint(1)   | NULL               | NO   |     | NULL    |       | select,insert,update,references |         |
| priority     | int          | NULL               | YES  |     | NULL    |       | select,insert,update,references |         |
| milestone    | varchar(255) | utf8mb4_0900_ai_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| close_status | text         | utf8mb4_0900_ai_ci | YES  |     | NULL    |       | select,insert,update,references |         |        
| date_created | datetime     | NULL               | NO   |     | NULL    |       | select,insert,update,references |         |        
| last_updated | datetime     | NULL               | NO   |     | NULL    |       | select,insert,update,references |         |        
| closed_at    | datetime     | NULL               | YES  |     | NULL    |       | select,insert,update,references |         |        
| closed_by_id | int          | NULL               | YES  | MUL | NULL    |       | select,insert,update,references |         |        
+--------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+        
16 rows in set (0.00 sec)

And here is the issues table from imported DB.

mysql> show full columns from issues;                                                                                                                                                                                                         
+--------------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| Field        | Type         | Collation         | Null | Key | Default | Extra          | Privileges                      | Comment |
+--------------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| id           | int          | NULL              | NO   | PRI | NULL    | auto_increment | select,insert,update,references |         |
| uid          | varchar(32)  | latin1_swedish_ci | NO   | UNI | NULL    |                | select,insert,update,references |         |
| project_id   | int          | NULL              | NO   | PRI | NULL    |                | select,insert,update,references |         |
| title        | text         | latin1_swedish_ci | NO   |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| content      | text         | latin1_swedish_ci | NO   |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| user_id      | int          | NULL              | NO   | MUL | NULL    |                | select,insert,update,references |         |                                                                                                       
| assignee_id  | int          | NULL              | YES  | MUL | NULL    |                | select,insert,update,references |         |                                                                                                       
| status       | varchar(255) | latin1_swedish_ci | NO   | MUL | NULL    |                | select,insert,update,references |         |                                                                                                       
| private      | tinyint(1)   | NULL              | NO   |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| priority     | int          | NULL              | YES  |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| milestone    | varchar(255) | latin1_swedish_ci | YES  |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| close_status | text         | latin1_swedish_ci | YES  |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| date_created | datetime     | NULL              | NO   |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| last_updated | datetime     | NULL              | NO   |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| closed_at    | datetime     | NULL              | YES  |     | NULL    |                | select,insert,update,references |         |                                                                                                       
| closed_by_id | int          | NULL              | YES  | MUL | NULL    |                | select,insert,update,references |         |                                                                                                       
+--------------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+                                                                                                       
16 rows in set (0.00 sec)   

As you can see the old DB has latin1 and the clear one is utf8.

And now it's question how to fix this? I would prefer to rather change the encoding in the DB then explicitly setting encoding in pagure to latin1.

It's probably something to fix in the alembic revision adding that field.
We may also need to look if there are other revisions with the same problem.

I fixed it by changing the encoding directly in the import sql script by running %s/latin1/utf8mb4/g in vim, there was one remaining issue with newest migration script and MySQL. I created a PR to fix it.

Here is what I did to fix it step by step on CentOS 8 Stream:

  • Drop the clean database
    Run command mysql
    Inside mysql run drop database pagure;
  • Create an empty pagure database
    Run command mysql
    Inside mysql run create database pagure;
  • Update the encoding in backup pagure sql script
    Run vim
    Replace latin1 with utf8mb4 by %s/latin1/utf8mb4/
  • Run alembic migrations
    alembic --config /etc/pagure/alembic.ini upgrade head

@arrfab Do you think we can close this now?

@arrfab Do you think we can close this now?

I think so, I guess that we'll have to "hot-patch" the script as even if your PR is now merged, it's not included in a proper release (yet). But yeah, we can close this one and go back to the centos-infra tracker as pagure db migration was the first issue, now to fix all the hooks pointing to python2.7

Feel free to close it but it would be good to document these steps in the upstream doc, so that other people in same situation would find the solution instead of relying on a search engine to automagically find this ticket with the solution ?

Good point, I will document this first.

I create a PR for the documentation, feel free to review it.

After this gets merged we can close this ticket. :-)

Documentation PR is now merged. Closing the ticket.

Metadata Update from @zlopez:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata