Merge pull request #35 from aaronpo97/database-updates

bug fix - Fixed error in cleanDatabase that would cause drift
This commit is contained in:
Aaron Po
2023-05-07 23:40:33 -04:00
committed by GitHub
3 changed files with 16 additions and 5 deletions

View File

@@ -26,6 +26,7 @@ const envSchema = z.object({
POSTGRES_PASSWORD: z.string(),
POSTGRES_DATABASE: z.string(),
POSTGRES_HOST: z.string(),
SHADOW_DATABASE_URL: z.string().url(),
NODE_ENV: z.enum(['development', 'production', 'test']),
SPARKPOST_API_KEY: z.string(),
@@ -187,6 +188,14 @@ export const POSTGRES_DATABASE = parsed.data.POSTGRES_DATABASE;
*/
export const POSTGRES_HOST = parsed.data.POSTGRES_HOST;
/**
* The URL of another PostgreSQL database to shadow.
*
* @example
* 'postgresql://user:password@host:5432/database';
*/
export const SHADOW_DATABASE_URL = parsed.data.SHADOW_DATABASE_URL;
/**
* Node environment.
*

View File

@@ -9,6 +9,7 @@ datasource db {
provider = "postgresql"
url = env("POSTGRES_PRISMA_URL") // uses connection pooling
directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
}
model User {

View File

@@ -14,7 +14,8 @@ const cleanDatabase = async () => {
DECLARE
statements CURSOR FOR
SELECT tablename FROM pg_tables
WHERE schemaname = 'public';
WHERE schemaname = 'public'
AND tablename != '_prisma_migrations';
BEGIN
FOR statement IN statements LOOP
EXECUTE 'TRUNCATE TABLE ' || quote_ident(statement.tablename) || ' CASCADE;';