fix: seed_test_users must use ADMIN_DATABASE_URL after Phase 4 RLS on users
RLS is now enabled on the users table. The seed script was using the app-role connection (DATABASE_URL) which has no tenant context at seed time — all SELECTs return 0 rows and INSERTs are blocked by FORCE RLS. Falls back to DATABASE_URL if ADMIN_DATABASE_URL is not set (local dev without roles configured). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -80,7 +80,10 @@ def _display_code() -> str:
|
|||||||
|
|
||||||
|
|
||||||
async def main() -> None:
|
async def main() -> None:
|
||||||
engine = create_async_engine(settings.DATABASE_URL, echo=False)
|
# Must use ADMIN_DATABASE_URL (BYPASSRLS) — Phase 4 enabled RLS on users.
|
||||||
|
# The app-role connection has no tenant context at seed time and would see 0 rows.
|
||||||
|
admin_url = getattr(settings, "ADMIN_DATABASE_URL", None) or settings.DATABASE_URL
|
||||||
|
engine = create_async_engine(admin_url, echo=False)
|
||||||
password_hash = get_password_hash(SHARED_PASSWORD)
|
password_hash = get_password_hash(SHARED_PASSWORD)
|
||||||
now = datetime.now(timezone.utc)
|
now = datetime.now(timezone.utc)
|
||||||
team_account_id: uuid.UUID | None = None
|
team_account_id: uuid.UUID | None = None
|
||||||
|
|||||||
Reference in New Issue
Block a user