mirror of
https://github.com/stackrender/stackrender.git
synced 2026-09-10 03:05:42 +00:00
40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
import { DatabaseDialect } from "@/lib/database";
|
|
import { DataType } from "@/lib/schemas/data-type-schema";
|
|
import { BaseSqlImporter } from "./base-sql-importer";
|
|
import { MysqlImporter } from "./mysql-importer";
|
|
import { MariaDbImporter } from "./mariadb-importer";
|
|
import { SqliteImporter } from "./sqlite-importer";
|
|
import { PostgreSqlImporter } from "./postgresql-importer";
|
|
import { OracleImporter } from "./oracle-importer";
|
|
import { MSSQLImporter } from "./mssql-importer";
|
|
|
|
export const getImporter = (dialect: DatabaseDialect, data_types: DataType[]) => {
|
|
let importer: BaseSqlImporter | undefined = undefined;
|
|
|
|
|
|
switch (dialect) {
|
|
case DatabaseDialect.MYSQL:
|
|
importer = (new MysqlImporter(data_types));
|
|
break;
|
|
case DatabaseDialect.MARIADB:
|
|
importer = (new MariaDbImporter(data_types));
|
|
break;
|
|
case DatabaseDialect.SQLITE:
|
|
importer = (new SqliteImporter(data_types));
|
|
break;
|
|
case DatabaseDialect.POSTGRES:
|
|
importer = (new PostgreSqlImporter(data_types));
|
|
break;
|
|
case DatabaseDialect.ORACLE:
|
|
importer = (new OracleImporter(data_types));
|
|
break;
|
|
case DatabaseDialect.MSSQL:
|
|
importer = (new MSSQLImporter(data_types));
|
|
break;
|
|
default:
|
|
importer = new BaseSqlImporter(data_types);
|
|
break;
|
|
}
|
|
|
|
return importer;
|
|
} |