From 1645e52a8ef62c15529f6af82867a78aabf92649 Mon Sep 17 00:00:00 2001 From: Bjarke Madsen <bjarke@nordu.net> Date: Tue, 17 Jan 2023 12:15:39 +0100 Subject: [PATCH] Change to postgresql 12 --- compendium_v2/alembic.ini | 2 +- compendium_v2/db/__init__.py | 6 ++--- compendium_v2/migrations/migration_utils.py | 4 +-- config-example.json | 2 +- docker-compose.yml | 30 ++++++++++----------- requirements.txt | 2 +- setup.py | 2 +- 7 files changed, 23 insertions(+), 25 deletions(-) diff --git a/compendium_v2/alembic.ini b/compendium_v2/alembic.ini index 734a7c31..2145863b 100644 --- a/compendium_v2/alembic.ini +++ b/compendium_v2/alembic.ini @@ -7,4 +7,4 @@ script_location = migrations # script_location = cachedb_migrations # change this to run migrations from the command line -sqlalchemy.url = mysql+pymysql://compendium:compendium321@localhost/compendium +sqlalchemy.url = postgresql://compendium:compendium321@localhost:65000/compendium diff --git a/compendium_v2/db/__init__.py b/compendium_v2/db/__init__.py index e913621d..2a07293a 100644 --- a/compendium_v2/db/__init__.py +++ b/compendium_v2/db/__init__.py @@ -31,9 +31,9 @@ def session_scope( session.close() -def mysql_dsn(db_username, db_password, db_hostname, db_name, port=3306): - return (f'mysql+pymysql://{db_username}:{db_password}' - f'@{db_hostname}:{port}/{db_name}?charset=utf8mb4') +def postgresql_dsn(db_username, db_password, db_hostname, db_name, port=5432): + return (f'postgresql://{db_username}:{db_password}' + f'@{db_hostname}:{port}/{db_name}') def init_db_model(dsn): diff --git a/compendium_v2/migrations/migration_utils.py b/compendium_v2/migrations/migration_utils.py index c2af5cde..3b29b540 100644 --- a/compendium_v2/migrations/migration_utils.py +++ b/compendium_v2/migrations/migration_utils.py @@ -29,9 +29,9 @@ def upgrade(dsn, migrations_directory=DEFAULT_MIGRATIONS_DIRECTORY): if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG) - upgrade(db.mysql_dsn( + upgrade(db.postgresql_dsn( db_username='compendium', db_password='compendium321', db_hostname='localhost', db_name='compendium', - port=3306)) + port=65000)) diff --git a/config-example.json b/config-example.json index d168df44..4f04692c 100644 --- a/config-example.json +++ b/config-example.json @@ -1,3 +1,3 @@ { - "SQLALCHEMY_DATABASE_URI": "mysql+pymysql://compendium:compendium321@localhost/compendium" + "SQLALCHEMY_DATABASE_URI": "postgresql://compendium:compendium321@localhost:65000/compendium" } diff --git a/docker-compose.yml b/docker-compose.yml index de0a388a..8ac10f23 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,15 @@ +version: '3.1' + services: - mysql: - restart: unless-stopped - container_name: mysql-compendium - environment: - MYSQL_ALLOW_EMPTY_PASSWORD: "no" - MYSQL_DATABASE: compendium - MYSQL_PASSWORD: compendium321 - MYSQL_ROOT_PASSWORD: compendium321 - MYSQL_USER: compendium - volumes: - - ./build/mysql_logs:/var/log/ - - ./build/mysql_data:/var/lib/mysql/ - image: mysql:8 - command: mysqld --general-log=1 --general-log-file=/var/log/mysql.log - ports: - - 3306:3306 + postgres: + image: postgres:12 + environment: + POSTGRES_DB: compendium + POSTGRES_USER: compendium + POSTGRES_PASSWORD: compendium321 + restart: unless-stopped + hostname: postgres + ports: + - "65000:5432" + volumes: + - ./build/db:/var/lib/postgresql \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 378dff7a..704282cf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ alembic jsonschema flask flask-cors -PyMySQL +psycopg2-binary cryptography SQLAlchemy pytest diff --git a/setup.py b/setup.py index d8ca4882..250b9be0 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ setup( 'flask-cors', 'SQLAlchemy', 'alembic', - 'PyMySQL', + 'psycopg2-binary', 'cryptography', ], include_package_data=True, -- GitLab