console/integration-tests/testkit/db.ts
Kamil Kisiela dc3bc1ec87 Hello
2022-05-18 09:26:57 +02:00

27 lines
683 B
TypeScript

import { sql, DatabasePoolConnectionType } from 'slonik';
export const resetDb = async (conn: DatabasePoolConnectionType) => {
const migrationTables = ['migrations'];
const result = await conn.many<{ tablename: string }>(sql`
SELECT "tablename"
FROM "pg_tables"
WHERE "schemaname" = 'public';
`);
const tablenames = result
.map(({ tablename }) => tablename)
.filter((tablename) => !migrationTables.includes(tablename));
if (tablenames.length) {
await conn.query(sql`
TRUNCATE TABLE
${sql.join(
tablenames.map((name) => sql.identifier([name])),
sql`,`
)}
RESTART IDENTITY
;
`);
}
};