mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 09:36:01 +00:00
separate schema selector in frontend
This commit is contained in:
@@ -1,14 +1,19 @@
|
||||
import { SchemaInfo, SqlDialect } from 'dbgate-types';
|
||||
|
||||
export function findDefaultSchema(schemaList: SchemaInfo[], dialect: SqlDialect) {
|
||||
export function findDefaultSchema(schemaList: SchemaInfo[], dialect: SqlDialect, schemaInStorage: string = null) {
|
||||
if (!schemaList) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (schemaInStorage && schemaList.find(x => x.schemaName == schemaInStorage)) {
|
||||
return schemaInStorage;
|
||||
}
|
||||
|
||||
const dynamicDefaultSchema = schemaList.find(x => x.isDefault);
|
||||
if (dynamicDefaultSchema) {
|
||||
return dynamicDefaultSchema.schemaName;
|
||||
}
|
||||
if (dialect.defaultSchemaName && schemaList.find(x => x.schemaName == dialect.defaultSchemaName)) {
|
||||
if (dialect?.defaultSchemaName && schemaList.find(x => x.schemaName == dialect.defaultSchemaName)) {
|
||||
return dialect.defaultSchemaName;
|
||||
}
|
||||
return schemaList[0]?.schemaName;
|
||||
@@ -26,3 +31,7 @@ export function splitCompositeDbName(name: string) {
|
||||
export function extractDbNameFromComposite(name: string) {
|
||||
return isCompositeDbName(name) ? splitCompositeDbName(name).database : name;
|
||||
}
|
||||
|
||||
export function extractSchemaNameFromComposite(name: string) {
|
||||
return splitCompositeDbName(name)?.schema;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user