Skip to content

Commit 290e663

Browse files
committed
fix: allow blacklisting db functions to prevent being dropped
1 parent b96a3cd commit 290e663

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

sftkit/sftkit/database/_database.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,44 @@ async def create_pool(self, n_connections=10) -> Pool:
1818
self._pool = await create_db_pool(self.config, n_connections=n_connections)
1919
return self._pool
2020

21-
async def apply_migrations(self, until_migration: str | None = None) -> None:
21+
async def apply_migrations(
22+
self,
23+
until_migration: str | None = None,
24+
function_blacklist: list[str] | None = None,
25+
function_blacklist_prefix: str | None = None,
26+
) -> None:
2227
pool = await self.create_pool(n_connections=1)
2328
try:
2429
await apply_migrations(
2530
db_pool=pool,
2631
migration_path=self.migrations_dir,
2732
code_path=self.code_dir,
2833
until_migration=until_migration,
34+
function_blacklist=function_blacklist,
35+
function_blacklist_prefix=function_blacklist_prefix,
2936
)
3037
finally:
3138
await pool.close()
3239

3340
async def attach(self):
3441
return await psql_attach(self.config)
3542

36-
async def reload_code(self):
43+
async def reload_code(
44+
self,
45+
function_blacklist: list[str] | None = None,
46+
function_blacklist_prefix: str | None = None,
47+
):
3748
pool = await self.create_pool(n_connections=1)
3849

3950
try:
4051
async with pool.acquire() as conn:
4152
async with conn.transaction(isolation="serializable"):
42-
await reload_db_code(conn, code_path=self.code_dir)
53+
await reload_db_code(
54+
conn,
55+
code_path=self.code_dir,
56+
function_blacklist=function_blacklist,
57+
function_blacklist_prefix=function_blacklist_prefix,
58+
)
4359
finally:
4460
await pool.close()
4561

0 commit comments

Comments
 (0)