console/integration-tests/testkit/db.ts
renovate[bot] 1afe0ec73a
Update dependency @theguild/prettier-config to v1 (#676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-11-24 10:00:41 +00:00

27 lines
672 B
TypeScript

import { sql, DatabasePoolConnection } from 'slonik';
export const resetDb = async (conn: DatabasePoolConnection) => {
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
;
`);
}
};