Check that migrations are idempotent (#3881)

This commit is contained in:
William FH
2025-03-17 15:13:59 -07:00
committed by GitHub
2 changed files with 8 additions and 0 deletions
@@ -67,6 +67,10 @@ async def store(request) -> AsyncIterator[AsyncPostgresStore]:
for mig in store.MIGRATIONS
]
await store.setup()
async with store._cursor() as cur:
# drop the migration index
await cur.execute("DROP TABLE IF EXISTS store_migrations")
await store.setup() # Will fail if migrations aren't idempotent
if request.param == "pipe":
async with AsyncPostgresStore.from_conn_string(
@@ -413,6 +413,10 @@ def _create_vector_store(
ttl={"default_ttl": 2, "refresh_on_read": True} if enable_ttl else None,
) as store:
store.setup()
with store._cursor() as cur:
# drop the migration index
cur.execute("DROP TABLE IF EXISTS store_migrations")
store.setup() # Will fail if migrations aren't idempotent
yield store
finally:
with Connection.connect(admin_conn_string, autocommit=True) as conn: