Merge pull request #1069 from dbgate/feature/libsql

feat: libsql basic support
This commit is contained in:
Jan Prochazka
2025-03-14 14:45:14 +01:00
committed by GitHub
17 changed files with 432 additions and 79 deletions

View File

@@ -128,7 +128,7 @@ export class ScriptDrivedDeployer {
logger.debug(`Running ${category} script ${file.name}`);
try {
await this.driver.script(this.dbhan, file.text);
await this.driver.script(this.dbhan, file.text, { useTransaction: false });
await this.saveToJournal(file, category, hash);
} catch (err) {
logger.error(extractErrorLogData(err), `Error running ${category} script ${file.name}`);

View File

@@ -17,6 +17,7 @@ export interface SqlDialect {
defaultSchemaName?: string;
enableConstraintsPerTable?: boolean;
enableAllForeignKeys?: boolean;
enableForeignKeyChecks?: boolean;
requireStandaloneSelectForScopeIdentity?: boolean;
allowMultipleValuesInsert?: boolean;

View File

@@ -210,6 +210,7 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
beforeConnectionSave?: (values: any) => any;
databaseUrlPlaceholder?: string;
defaultAuthTypeName?: string;
authTypeFirst?: boolean;
defaultLocalDataCenter?: string;
defaultSocketPath?: string;
authTypeLabel?: string;

View File

@@ -17,6 +17,7 @@
import FontIcon from '../icons/FontIcon.svelte';
import FormDropDownTextField from '../forms/FormDropDownTextField.svelte';
import { getConnectionLabel } from 'dbgate-tools';
import { _t } from '../translations';
export let getDatabaseList;
export let currentConnection;
@@ -153,6 +154,15 @@
/>
{/if}
{#if driver?.showConnectionField('authToken', $values, showConnectionFieldArgs)}
<FormTextField
label={_t('authToken', { defaultMessage: 'Auth token' })}
name="authToken"
data-testid="ConnectionDriverFields_authToken"
disabled={isConnected || disabledFields.includes('authToken')}
/>
{/if}
{#if $authTypes && driver?.showConnectionField('authType', $values, showConnectionFieldArgs)}
{#key $authTypes}
<FormSelectField