From fd6ac0a7654a3842681559c46021f41df006ea7e Mon Sep 17 00:00:00 2001 From: Alexander Piskun <13381981+bigcat88@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:34:06 +0300 Subject: [PATCH] drop PgSQL 14, unite migration for SQLite and PgSQL (#10165) --- .github/workflows/test-assets.yml | 2 +- app/alembic_db/versions/0001_assets.py | 16 ++-------------- app/database/models.py | 1 + 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test-assets.yml b/.github/workflows/test-assets.yml index ef80fc48a..4ae26ba5f 100644 --- a/.github/workflows/test-assets.yml +++ b/.github/workflows/test-assets.yml @@ -99,7 +99,7 @@ jobs: fail-fast: false matrix: python: ['3.9', '3.12'] - pgsql: ['14', '16'] + pgsql: ['16', '18'] services: postgres: diff --git a/app/alembic_db/versions/0001_assets.py b/app/alembic_db/versions/0001_assets.py index 1f5fb4622..589b22ac8 100644 --- a/app/alembic_db/versions/0001_assets.py +++ b/app/alembic_db/versions/0001_assets.py @@ -26,16 +26,7 @@ def upgrade() -> None: sa.Column("created_at", sa.DateTime(timezone=False), nullable=False), sa.CheckConstraint("size_bytes >= 0", name="ck_assets_size_nonneg"), ) - if op.get_bind().dialect.name == "postgresql": - op.create_index( - "uq_assets_hash_not_null", - "assets", - ["hash"], - unique=True, - postgresql_where=sa.text("hash IS NOT NULL"), - ) - else: - op.create_index("uq_assets_hash", "assets", ["hash"], unique=True) + op.create_index("uq_assets_hash", "assets", ["hash"], unique=True) op.create_index("ix_assets_mime_type", "assets", ["mime_type"]) # ASSETS_INFO: user-visible references @@ -179,9 +170,6 @@ def downgrade() -> None: op.drop_index("ix_assets_info_owner_id", table_name="assets_info") op.drop_table("assets_info") - if op.get_bind().dialect.name == "postgresql": - op.drop_index("uq_assets_hash_not_null", table_name="assets") - else: - op.drop_index("uq_assets_hash", table_name="assets") + op.drop_index("uq_assets_hash", table_name="assets") op.drop_index("ix_assets_mime_type", table_name="assets") op.drop_table("assets") diff --git a/app/database/models.py b/app/database/models.py index 6a6798bcf..c6555fa61 100644 --- a/app/database/models.py +++ b/app/database/models.py @@ -77,6 +77,7 @@ class Asset(Base): ) __table_args__ = ( + Index("uq_assets_hash", "hash", unique=True), Index("ix_assets_mime_type", "mime_type"), CheckConstraint("size_bytes >= 0", name="ck_assets_size_nonneg"), )