From 4e73cd39c8e780c0cbf50331eb733e59bd0b3cd5 Mon Sep 17 00:00:00 2001 From: Jack Kingsman Date: Sat, 11 Apr 2026 00:38:47 -0700 Subject: [PATCH] Migration improvements 2 --- .github/workflows/all-quality.yml | 4 ++-- .../_005_backfill_payload_hashes.py | 2 +- app/migrations/_013_convert_to_multi_bot.py | 2 +- .../_028_payload_hash_text_to_blob.py | 2 +- app/migrations/_036_create_fanout_configs.py | 2 +- app/migrations/_037_bots_to_fanout.py | 2 +- app/migrations/_055_favorites_to_columns.py | 1 - tests/test_fanout_hitlist.py | 24 ++++++++++++++----- tests/test_migrations/test_migration_001.py | 2 +- tests/test_migrations/test_migration_013.py | 2 +- tests/test_migrations/test_migration_018.py | 3 +-- tests/test_migrations/test_migration_019.py | 2 +- tests/test_migrations/test_migration_020.py | 2 +- tests/test_migrations/test_migration_028.py | 2 +- tests/test_migrations/test_migration_032.py | 2 +- tests/test_migrations/test_migration_033.py | 2 +- tests/test_migrations/test_migration_034.py | 2 +- tests/test_migrations/test_migration_039.py | 3 +-- tests/test_migrations/test_migration_040.py | 3 +-- tests/test_migrations/test_migration_041.py | 3 +-- tests/test_migrations/test_migration_042.py | 3 +-- tests/test_migrations/test_migration_044.py | 1 + tests/test_migrations/test_migration_046.py | 3 +-- tests/test_migrations/test_migration_047.py | 3 +-- 24 files changed, 41 insertions(+), 36 deletions(-) diff --git a/.github/workflows/all-quality.yml b/.github/workflows/all-quality.yml index dc732b3..c30d3de 100644 --- a/.github/workflows/all-quality.yml +++ b/.github/workflows/all-quality.yml @@ -11,7 +11,7 @@ jobs: steps: - name: Check out repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v6 @@ -44,7 +44,7 @@ jobs: steps: - name: Check out repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Node.js uses: actions/setup-node@v6 diff --git a/app/migrations/_005_backfill_payload_hashes.py b/app/migrations/_005_backfill_payload_hashes.py index 9725cd0..f343555 100644 --- a/app/migrations/_005_backfill_payload_hashes.py +++ b/app/migrations/_005_backfill_payload_hashes.py @@ -1,5 +1,5 @@ -from hashlib import sha256 import logging +from hashlib import sha256 import aiosqlite diff --git a/app/migrations/_013_convert_to_multi_bot.py b/app/migrations/_013_convert_to_multi_bot.py index 48242c9..40082a0 100644 --- a/app/migrations/_013_convert_to_multi_bot.py +++ b/app/migrations/_013_convert_to_multi_bot.py @@ -1,6 +1,6 @@ import json -import uuid import logging +import uuid import aiosqlite diff --git a/app/migrations/_028_payload_hash_text_to_blob.py b/app/migrations/_028_payload_hash_text_to_blob.py index f6970c9..c5ad95c 100644 --- a/app/migrations/_028_payload_hash_text_to_blob.py +++ b/app/migrations/_028_payload_hash_text_to_blob.py @@ -1,5 +1,5 @@ -from hashlib import sha256 import logging +from hashlib import sha256 import aiosqlite diff --git a/app/migrations/_036_create_fanout_configs.py b/app/migrations/_036_create_fanout_configs.py index 6c56d10..1505b67 100644 --- a/app/migrations/_036_create_fanout_configs.py +++ b/app/migrations/_036_create_fanout_configs.py @@ -1,6 +1,6 @@ import json -import uuid import logging +import uuid import aiosqlite diff --git a/app/migrations/_037_bots_to_fanout.py b/app/migrations/_037_bots_to_fanout.py index e7bdfc2..60cbd8f 100644 --- a/app/migrations/_037_bots_to_fanout.py +++ b/app/migrations/_037_bots_to_fanout.py @@ -1,6 +1,6 @@ import json -import uuid import logging +import uuid import aiosqlite diff --git a/app/migrations/_055_favorites_to_columns.py b/app/migrations/_055_favorites_to_columns.py index a0e28e2..e81f12e 100644 --- a/app/migrations/_055_favorites_to_columns.py +++ b/app/migrations/_055_favorites_to_columns.py @@ -1,4 +1,3 @@ -import json import logging import aiosqlite diff --git a/tests/test_fanout_hitlist.py b/tests/test_fanout_hitlist.py index e75463c..640352b 100644 --- a/tests/test_fanout_hitlist.py +++ b/tests/test_fanout_hitlist.py @@ -351,7 +351,9 @@ class TestMigration036: ) await conn.commit() - from app.migrations._036_create_fanout_configs import migrate as _migrate_036_create_fanout_configs + from app.migrations._036_create_fanout_configs import ( + migrate as _migrate_036_create_fanout_configs, + ) await _migrate_036_create_fanout_configs(conn) @@ -382,7 +384,9 @@ class TestMigration036: ) await conn.commit() - from app.migrations._036_create_fanout_configs import migrate as _migrate_036_create_fanout_configs + from app.migrations._036_create_fanout_configs import ( + migrate as _migrate_036_create_fanout_configs, + ) await _migrate_036_create_fanout_configs(conn) @@ -413,7 +417,9 @@ class TestMigration036: ) await conn.commit() - from app.migrations._036_create_fanout_configs import migrate as _migrate_036_create_fanout_configs + from app.migrations._036_create_fanout_configs import ( + migrate as _migrate_036_create_fanout_configs, + ) await _migrate_036_create_fanout_configs(conn) @@ -439,7 +445,9 @@ class TestMigration036: await conn.execute("INSERT INTO app_settings (id) VALUES (1)") await conn.commit() - from app.migrations._036_create_fanout_configs import migrate as _migrate_036_create_fanout_configs + from app.migrations._036_create_fanout_configs import ( + migrate as _migrate_036_create_fanout_configs, + ) await _migrate_036_create_fanout_configs(conn) @@ -536,7 +544,9 @@ class TestMigration038: await conn.execute("INSERT INTO app_settings (id) VALUES (1)") await conn.commit() - from app.migrations._038_drop_legacy_columns import migrate as _migrate_038_drop_legacy_columns + from app.migrations._038_drop_legacy_columns import ( + migrate as _migrate_038_drop_legacy_columns, + ) await _migrate_038_drop_legacy_columns(conn) @@ -561,7 +571,9 @@ class TestMigration038: await conn.execute("CREATE TABLE app_settings (id INTEGER PRIMARY KEY)") await conn.commit() - from app.migrations._038_drop_legacy_columns import migrate as _migrate_038_drop_legacy_columns + from app.migrations._038_drop_legacy_columns import ( + migrate as _migrate_038_drop_legacy_columns, + ) # Should not raise await _migrate_038_drop_legacy_columns(conn) diff --git a/tests/test_migrations/test_migration_001.py b/tests/test_migrations/test_migration_001.py index 0d43498..33bc5ce 100644 --- a/tests/test_migrations/test_migration_001.py +++ b/tests/test_migrations/test_migration_001.py @@ -1,11 +1,11 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import run_migrations + class TestMigration001: """Test migration 001: add last_read_at columns.""" diff --git a/tests/test_migrations/test_migration_013.py b/tests/test_migrations/test_migration_013.py index d0cb915..e84f8ee 100644 --- a/tests/test_migrations/test_migration_013.py +++ b/tests/test_migrations/test_migration_013.py @@ -7,13 +7,13 @@ import pytest from app.migrations import run_migrations, set_version + class TestMigration013: """Test migration 013: convert bot_enabled/bot_code to multi-bot format.""" @pytest.mark.asyncio async def test_migration_converts_existing_bot_to_array(self): """Migration converts existing bot_enabled/bot_code to bots array.""" - import json conn = await aiosqlite.connect(":memory:") conn.row_factory = aiosqlite.Row diff --git a/tests/test_migrations/test_migration_018.py b/tests/test_migrations/test_migration_018.py index 2257968..4f401f9 100644 --- a/tests/test_migrations/test_migration_018.py +++ b/tests/test_migrations/test_migration_018.py @@ -1,12 +1,11 @@ """Tests for database migration(s).""" -from hashlib import sha256 - import aiosqlite import pytest from app.migrations import run_migrations, set_version + class TestMigration018: """Test migration 018: drop UNIQUE(data) from raw_packets.""" diff --git a/tests/test_migrations/test_migration_019.py b/tests/test_migrations/test_migration_019.py index bd3669e..f0aa831 100644 --- a/tests/test_migrations/test_migration_019.py +++ b/tests/test_migrations/test_migration_019.py @@ -1,11 +1,11 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import run_migrations, set_version + class TestMigration019: """Test migration 019: drop UNIQUE constraint from messages.""" diff --git a/tests/test_migrations/test_migration_020.py b/tests/test_migrations/test_migration_020.py index e70b7cb..38df2a0 100644 --- a/tests/test_migrations/test_migration_020.py +++ b/tests/test_migrations/test_migration_020.py @@ -1,11 +1,11 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import run_migrations, set_version + class TestMigration020: """Test migration 020: enable WAL mode and incremental auto-vacuum.""" diff --git a/tests/test_migrations/test_migration_028.py b/tests/test_migrations/test_migration_028.py index 88db1dd..7ee6dbc 100644 --- a/tests/test_migrations/test_migration_028.py +++ b/tests/test_migrations/test_migration_028.py @@ -7,13 +7,13 @@ import pytest from app.migrations import run_migrations, set_version + class TestMigration028: """Test migration 028: convert payload_hash from TEXT to BLOB.""" @pytest.mark.asyncio async def test_migration_converts_hex_text_to_blob(self): """Migration converts 64-char hex TEXT payload_hash values to 32-byte BLOBs.""" - from hashlib import sha256 conn = await aiosqlite.connect(":memory:") conn.row_factory = aiosqlite.Row diff --git a/tests/test_migrations/test_migration_032.py b/tests/test_migrations/test_migration_032.py index a3e324d..583ad58 100644 --- a/tests/test_migrations/test_migration_032.py +++ b/tests/test_migrations/test_migration_032.py @@ -1,11 +1,11 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import run_migrations, set_version + class TestMigration032: """Test migration 032: add community MQTT columns to app_settings.""" diff --git a/tests/test_migrations/test_migration_033.py b/tests/test_migrations/test_migration_033.py index 5f745d6..8b8f443 100644 --- a/tests/test_migrations/test_migration_033.py +++ b/tests/test_migrations/test_migration_033.py @@ -1,11 +1,11 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import run_migrations, set_version + class TestMigration033: """Test migration 033: seed #remoteterm channel.""" diff --git a/tests/test_migrations/test_migration_034.py b/tests/test_migrations/test_migration_034.py index 6677486..34aa455 100644 --- a/tests/test_migrations/test_migration_034.py +++ b/tests/test_migrations/test_migration_034.py @@ -1,11 +1,11 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import run_migrations, set_version + class TestMigration034: """Test migration 034: add flood_scope column to app_settings.""" diff --git a/tests/test_migrations/test_migration_039.py b/tests/test_migrations/test_migration_039.py index 8fcd15a..0ee9518 100644 --- a/tests/test_migrations/test_migration_039.py +++ b/tests/test_migrations/test_migration_039.py @@ -1,13 +1,12 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import get_version, run_migrations, set_version - from tests.test_migrations.conftest import LATEST_SCHEMA_VERSION + class TestMigration039: """Test migration 039: persist contacts.out_path_hash_mode.""" diff --git a/tests/test_migrations/test_migration_040.py b/tests/test_migrations/test_migration_040.py index 909e9e2..3ed4d53 100644 --- a/tests/test_migrations/test_migration_040.py +++ b/tests/test_migrations/test_migration_040.py @@ -1,13 +1,12 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import get_version, run_migrations, set_version - from tests.test_migrations.conftest import LATEST_SCHEMA_VERSION + class TestMigration040: """Test migration 040: include path_len in advert-path identity.""" diff --git a/tests/test_migrations/test_migration_041.py b/tests/test_migrations/test_migration_041.py index bd03c3b..0234c7f 100644 --- a/tests/test_migrations/test_migration_041.py +++ b/tests/test_migrations/test_migration_041.py @@ -1,13 +1,12 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import get_version, run_migrations, set_version - from tests.test_migrations.conftest import LATEST_SCHEMA_VERSION + class TestMigration041: """Test migration 041: add nullable routing override columns.""" diff --git a/tests/test_migrations/test_migration_042.py b/tests/test_migrations/test_migration_042.py index f10579e..6f9ba1e 100644 --- a/tests/test_migrations/test_migration_042.py +++ b/tests/test_migrations/test_migration_042.py @@ -1,13 +1,12 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import get_version, run_migrations, set_version - from tests.test_migrations.conftest import LATEST_SCHEMA_VERSION + class TestMigration042: """Test migration 042: add channels.flood_scope_override.""" diff --git a/tests/test_migrations/test_migration_044.py b/tests/test_migrations/test_migration_044.py index efd6a9a..6518b2d 100644 --- a/tests/test_migrations/test_migration_044.py +++ b/tests/test_migrations/test_migration_044.py @@ -7,6 +7,7 @@ import pytest from app.migrations import run_migrations, set_version + class TestMigration044: """Test migration 044: dedupe incoming direct messages.""" diff --git a/tests/test_migrations/test_migration_046.py b/tests/test_migrations/test_migration_046.py index 5d1e415..e2006c8 100644 --- a/tests/test_migrations/test_migration_046.py +++ b/tests/test_migrations/test_migration_046.py @@ -1,13 +1,12 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import get_version, run_migrations, set_version - from tests.test_migrations.conftest import LATEST_SCHEMA_VERSION + class TestMigration046: """Test migration 046: clean orphaned contact child rows.""" diff --git a/tests/test_migrations/test_migration_047.py b/tests/test_migrations/test_migration_047.py index ff87ef8..840b501 100644 --- a/tests/test_migrations/test_migration_047.py +++ b/tests/test_migrations/test_migration_047.py @@ -1,13 +1,12 @@ """Tests for database migration(s).""" - import aiosqlite import pytest from app.migrations import get_version, run_migrations, set_version - from tests.test_migrations.conftest import LATEST_SCHEMA_VERSION + class TestMigration047: """Test migration 047: add statistics indexes."""