22 lines
672 B
TypeScript
22 lines
672 B
TypeScript
import type { CreateDBSchemaParams } from "../../types";
|
|
import createDBManagerTable from "./create-db-manager-table";
|
|
import handleDBSchemaTables from "./handle-db-schema-tables";
|
|
import orderDBSchema from "./order-db-schema";
|
|
|
|
export default async function createDBSchema(params: CreateDBSchemaParams) {
|
|
/**
|
|
* Create Schema Manager Table
|
|
*/
|
|
await createDBManagerTable(params);
|
|
|
|
/**
|
|
* Reorder Tables (parents before children with FKs)
|
|
*/
|
|
const ordered_db_schema = await orderDBSchema(params);
|
|
|
|
/**
|
|
* Handle Tables (create / update / drop)
|
|
*/
|
|
await handleDBSchemaTables({ ...params, db_schema: ordered_db_schema });
|
|
}
|