mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-26 09:56:00 +00:00
refactor
This commit is contained in:
@@ -42,21 +42,12 @@ const dialect = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @type {import('dbgate-types').EngineDriver} */
|
/** @type {import('dbgate-types').EngineDriver} */
|
||||||
const driver = {
|
const sqliteDriverBase = {
|
||||||
...driverBase,
|
...driverBase,
|
||||||
dumperClass: Dumper,
|
dumperClass: Dumper,
|
||||||
dialect,
|
dialect,
|
||||||
engine: 'sqlite@dbgate-plugin-sqlite',
|
|
||||||
title: 'SQLite',
|
|
||||||
readOnlySessions: true,
|
readOnlySessions: true,
|
||||||
supportsTransactions: true,
|
supportsTransactions: true,
|
||||||
showConnectionField: (field, values) => field == 'databaseFile' || field == 'isReadOnly',
|
|
||||||
showConnectionTab: (field) => false,
|
|
||||||
beforeConnectionSave: (connection) => ({
|
|
||||||
...connection,
|
|
||||||
singleDatabase: true,
|
|
||||||
defaultDatabase: getDatabaseFileLabel(connection.databaseFile),
|
|
||||||
}),
|
|
||||||
|
|
||||||
getQuerySplitterOptions: (usage) =>
|
getQuerySplitterOptions: (usage) =>
|
||||||
usage == 'editor'
|
usage == 'editor'
|
||||||
@@ -64,22 +55,32 @@ const driver = {
|
|||||||
: usage == 'stream'
|
: usage == 'stream'
|
||||||
? noSplitSplitterOptions
|
? noSplitSplitterOptions
|
||||||
: sqliteSplitterOptions,
|
: sqliteSplitterOptions,
|
||||||
|
showConnectionTab: (field) => false,
|
||||||
// isFileDatabase: true,
|
|
||||||
// isElectronOnly: true,
|
|
||||||
|
|
||||||
predefinedDataTypes: ['integer', 'real', 'text', 'blob'],
|
predefinedDataTypes: ['integer', 'real', 'text', 'blob'],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @type {import('dbgate-types').EngineDriver} */
|
||||||
|
const driver = {
|
||||||
|
...sqliteDriverBase,
|
||||||
|
engine: 'sqlite@dbgate-plugin-sqlite',
|
||||||
|
title: 'SQLite',
|
||||||
|
showConnectionField: (field, values) => field == 'databaseFile' || field == 'isReadOnly',
|
||||||
|
beforeConnectionSave: (connection) => ({
|
||||||
|
...connection,
|
||||||
|
singleDatabase: true,
|
||||||
|
defaultDatabase: getDatabaseFileLabel(connection.databaseFile),
|
||||||
|
}),
|
||||||
|
|
||||||
|
// isFileDatabase: true,
|
||||||
|
// isElectronOnly: true,
|
||||||
|
};
|
||||||
|
|
||||||
/** @type {import('dbgate-types').EngineDriver} */
|
/** @type {import('dbgate-types').EngineDriver} */
|
||||||
const libsqlDriver = {
|
const libsqlDriver = {
|
||||||
...driverBase,
|
...sqliteDriverBase,
|
||||||
dumperClass: Dumper,
|
|
||||||
dialect,
|
|
||||||
engine: 'libsql@dbgate-plugin-sqlite',
|
engine: 'libsql@dbgate-plugin-sqlite',
|
||||||
title: 'LibSQL',
|
title: 'LibSQL',
|
||||||
readOnlySessions: true,
|
|
||||||
supportsTransactions: true,
|
|
||||||
|
|
||||||
showConnectionField: (field, values) => {
|
showConnectionField: (field, values) => {
|
||||||
if ((values?.authType ?? 'url') === 'url') {
|
if ((values?.authType ?? 'url') === 'url') {
|
||||||
@@ -88,7 +89,6 @@ const libsqlDriver = {
|
|||||||
return ['databaseFile', 'isReadOnly', 'authType'].includes(field);
|
return ['databaseFile', 'isReadOnly', 'authType'].includes(field);
|
||||||
},
|
},
|
||||||
|
|
||||||
showConnectionTab: (field) => false,
|
|
||||||
defaultAuthTypeName: 'url',
|
defaultAuthTypeName: 'url',
|
||||||
authTypeFirst: true,
|
authTypeFirst: true,
|
||||||
|
|
||||||
@@ -98,17 +98,8 @@ const libsqlDriver = {
|
|||||||
defaultDatabase: getDatabaseFileLabel(connection.databaseFile || connection.databaseUrl),
|
defaultDatabase: getDatabaseFileLabel(connection.databaseFile || connection.databaseUrl),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
getQuerySplitterOptions: (usage) =>
|
|
||||||
usage == 'editor'
|
|
||||||
? { ...sqliteSplitterOptions, ignoreComments: true, preventSingleLineSplit: true }
|
|
||||||
: usage == 'stream'
|
|
||||||
? noSplitSplitterOptions
|
|
||||||
: sqliteSplitterOptions,
|
|
||||||
|
|
||||||
// isFileDatabase: true,
|
// isFileDatabase: true,
|
||||||
// isElectronOnly: true,
|
// isElectronOnly: true,
|
||||||
|
|
||||||
predefinedDataTypes: ['integer', 'real', 'text', 'blob'],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = [driver, libsqlDriver];
|
module.exports = [driver, libsqlDriver];
|
||||||
|
|||||||
Reference in New Issue
Block a user