twenty/packages/twenty-server/scripts/truncate-db.ts
Jérémy M e293abe332
Fix/workspace health type (#4053)
* fix: memory issue with truncate command

* fix: LINK doesn't have any default value

* fix: Cannot convert LINK to column type.

* fix: handle old column type and add a warn to fix them manually
2024-02-19 17:28:40 +01:00

37 lines
969 B
TypeScript

import console from 'console';
import { connectionSource, performQuery } from './utils';
async function dropSchemasSequentially() {
try {
await connectionSource.initialize();
// Fetch all schemas
const schemas = await performQuery(
`
SELECT n.nspname AS "schema_name"
FROM pg_catalog.pg_namespace n
WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'
`,
'Fetching schemas...',
);
// Iterate over each schema and drop it
// This is to avoid dropping all schemas at once, which would cause an out of shared memory error
for (const schema of schemas) {
await performQuery(
`
DROP SCHEMA IF EXISTS "${schema.schema_name}" CASCADE;
`,
`Dropping schema ${schema.schema_name}...`,
);
}
console.log('All schemas dropped successfully.');
} catch (err) {
console.error('Error during schema dropping:', err);
}
}
dropSchemasSequentially();