Files
Liam 610980d70c feat: add OceanBase support (#180)
* Add Oceanbase support

* Modify screenshot

* Modify the README document
2025-06-17 11:19:08 +08:00

27 lines
832 B
TypeScript

import { Connection, Engine, ExecutionResult, Schema } from "@/types";
import mysql from "./mysql";
import postgres from "./postgres";
import mssql from "./mssql";
export interface Connector {
testConnection: () => Promise<boolean>;
execute: (databaseName: string, statement: string) => Promise<ExecutionResult>;
getDatabases: () => Promise<string[]>;
getTableSchema: (databaseName: string) => Promise<Schema[]>;
}
export const newConnector = (connection: Connection): Connector => {
switch (connection.engineType) {
case Engine.MySQL:
return mysql(connection);
case Engine.PostgreSQL:
return postgres(connection);
case Engine.MSSQL:
return mssql(connection);
case Engine.OceanBase:
return mysql(connection);
default:
throw new Error("Unsupported engine type.");
}
};