Add tests for idempotency in migraionts

This commit is contained in:
William Fu-Hinthorn
2025-03-17 12:43:21 -07:00
parent 697f878e36
commit 2a71180c1d
2 changed files with 8 additions and 0 deletions
@@ -69,6 +69,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(
@@ -415,6 +415,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: