mirror of
https://github.com/graphql-hive/console
synced 2026-04-21 14:37:17 +00:00
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
27 lines
672 B
TypeScript
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
|
|
;
|
|
`);
|
|
}
|
|
};
|