feat(MySQL): option to enable single connection mode

This commit is contained in:
Fabio Di Stasio 2024-02-18 14:37:45 +01:00
parent 90b9b87b1d
commit d3f71e65ce
8 changed files with 31 additions and 10 deletions

View File

@ -19,6 +19,7 @@ export const defaults: Customizations = {
sshConnection: false,
fileConnection: false,
cancelQueries: false,
singleConnectionMode: false,
// Tools
processesList: false,
usersManagement: false,

View File

@ -29,6 +29,7 @@ export const customizations: Customizations = {
sslConnection: true,
sshConnection: true,
cancelQueries: true,
singleConnectionMode: true,
// Tools
processesList: true,
// Structure

View File

@ -52,6 +52,7 @@ export interface ConnectionParams {
password: string;
ask: boolean;
readonly: boolean;
singleConnectionMode: boolean;
ssl: boolean;
cert?: string;
key?: string;

View File

@ -19,6 +19,7 @@ export interface Customizations {
sshConnection?: boolean;
fileConnection?: boolean;
cancelQueries?: boolean;
singleConnectionMode?: boolean;
// Tools
processesList?: boolean;
usersManagement?: boolean;

View File

@ -146,7 +146,7 @@ export default (connections: Record<string, antares.Client>) => {
uid: conn.uid,
client: conn.client,
params,
poolSize: 5
poolSize: conn.singleConnectionMode ? 0 : 5
});
await connection.connect();

View File

@ -163,22 +163,30 @@
>
</div>
</div>
<div v-if="clientCustomizations.readOnlyMode" class="form-group columns">
<div v-if="clientCustomizations.readOnlyMode" class="form-group columns mb-0">
<div class="column col-5 col-sm-12" />
<div class="column col-7 col-sm-12">
<label class="form-checkbox form-inline">
<label class="form-checkbox form-inline my-0">
<input v-model="connection.readonly" type="checkbox"><i class="form-icon" /> {{ t('connection.readOnlyMode') }}
</label>
</div>
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div v-if="!clientCustomizations.fileConnection" class="form-group columns mb-0">
<div class="column col-5 col-sm-12" />
<div class="column col-7 col-sm-12">
<label class="form-checkbox form-inline">
<label class="form-checkbox form-inline my-0">
<input v-model="connection.ask" type="checkbox"><i class="form-icon" /> {{ t('connection.askCredentials') }}
</label>
</div>
</div>
<div v-if="clientCustomizations.singleConnectionMode" class="form-group columns mb-0">
<div class="column col-5 col-sm-12" />
<div class="column col-7 col-sm-12">
<label class="form-checkbox form-inline my-0">
<input v-model="connection.singleConnectionMode" type="checkbox"><i class="form-icon" /> {{ t('connection.singleConnection') }}
</label>
</div>
</div>
</fieldset>
</form>
</div>

View File

@ -165,22 +165,30 @@
>
</div>
</div>
<div v-if="clientCustomizations.readOnlyMode" class="form-group columns">
<div v-if="clientCustomizations.readOnlyMode" class="form-group columns mb-0">
<div class="column col-5 col-sm-12" />
<div class="column col-7 col-sm-12">
<label class="form-checkbox form-inline">
<label class="form-checkbox form-inline my-0">
<input v-model="localConnection.readonly" type="checkbox"><i class="form-icon" /> {{ t('connection.readOnlyMode') }}
</label>
</div>
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div v-if="!clientCustomizations.fileConnection" class="form-group columns mb-0">
<div class="column col-5 col-sm-12" />
<div class="column col-7 col-sm-12">
<label class="form-checkbox form-inline">
<label class="form-checkbox form-inline my-0">
<input v-model="localConnection.ask" type="checkbox"><i class="form-icon" /> {{ t('connection.askCredentials') }}
</label>
</div>
</div>
<div v-if="clientCustomizations.singleConnectionMode" class="form-group columns mb-0">
<div class="column col-5 col-sm-12" />
<div class="column col-7 col-sm-12">
<label class="form-checkbox form-inline my-0">
<input v-model="localConnection.singleConnectionMode" type="checkbox"><i class="form-icon" /> {{ t('connection.singleConnection') }}
</label>
</div>
</div>
</fieldset>
</form>
</div>

View File

@ -116,7 +116,8 @@ export const enUS = {
readOnlyMode: 'Read-only mode',
allConnections: 'All connections',
searchForConnections: 'Search for connections',
keepAliveInterval: 'Keep alive interval'
keepAliveInterval: 'Keep alive interval',
singleConnection: 'Single connection'
},
database: { // Database related terms
schema: 'Schema',