Error occurs when initializing a completely fresh Postgres database:
[youngermax@odyssey ~/Programming/Noter/noter-backend/backend] alembic upgrade head
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 261a72acbe75, create JSON tables
INFO [alembic.runtime.migration] Running upgrade 261a72acbe75 -> 472fbd54de0c, Practical tables
Traceback (most recent call last):
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1965, in _exec_single_context
self.dialect.do_execute(
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 921, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.DuplicateTable: relation "users" already exists
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/youngermax/.local/bin/alembic", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/config.py", line 632, in main
CommandLine(prog=prog).main(argv=argv)
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/config.py", line 626, in main
self.run_cmd(cfg, options)
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/config.py", line 603, in run_cmd
fn(
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/command.py", line 385, in upgrade
script.run_env()
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/script/base.py", line 582, in run_env
util.load_python_file(self.dir, "env.py")
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 94, in load_python_file
module = load_module_py(module_id, path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 110, in load_module_py
spec.loader.exec_module(module) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/youngermax/Programming/Noter/noter-backend/backend/alembic/env.py", line 78, in <module>
run_migrations_online()
File "/home/youngermax/Programming/Noter/noter-backend/backend/alembic/env.py", line 72, in run_migrations_online
context.run_migrations()
File "<string>", line 8, in run_migrations
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/runtime/environment.py", line 928, in run_migrations
self.get_context().run_migrations(**kw)
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/runtime/migration.py", line 628, in run_migrations
step.migration_fn(**kw)
File "/home/youngermax/Programming/Noter/noter-backend/backend/alembic/versions/472fbd54de0c_practical_tables.py", line 21, in upgrade
op.create_table(
File "<string>", line 8, in create_table
File "<string>", line 3, in create_table
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/operations/ops.py", line 1277, in create_table
return operations.invoke(op)
^^^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/operations/base.py", line 395, in invoke
return fn(self, operation)
^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/operations/toimpl.py", line 114, in create_table
operations.impl.create_table(table)
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/ddl/impl.py", line 354, in create_table
self._exec(schema.CreateTable(table))
File "/home/youngermax/.local/lib/python3.11/site-packages/alembic/ddl/impl.py", line 193, in _exec
return conn.execute( # type: ignore[call-overload]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1412, in execute
return meth(
^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py", line 181, in _execute_on_connection
return connection._execute_ddl(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1524, in _execute_ddl
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1844, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1984, in _exec_single_context
self._handle_dbapi_exception(
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2339, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1965, in _exec_single_context
self.dialect.do_execute(
File "/home/youngermax/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 921, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.DuplicateTable) relation "users" already exists
[SQL:
CREATE TABLE users (
primary_id SERIAL NOT NULL,
id VARCHAR,
email VARCHAR,
password VARCHAR,
stripe_id VARCHAR,
"lastSignedIn" VARCHAR,
"joinedOn" VARCHAR,
history JSON,
PRIMARY KEY (primary_id)
)
]
(Background on this error at: https://sqlalche.me/e/20/f405)
Error occurs when initializing a completely fresh Postgres database: