diff --git a/src/common/interfaces/antares.ts b/src/common/interfaces/antares.ts
index 301c9cf2..f2e330d0 100644
--- a/src/common/interfaces/antares.ts
+++ b/src/common/interfaces/antares.ts
@@ -73,6 +73,19 @@ export interface TypesGroup {
}
// Tables
+export interface TableInfos {
+ name: string;
+ type: string;
+ rows: number;
+ created: Date;
+ updated: Date;
+ engine: string;
+ comment: string;
+ size: number;
+ autoIncrement: number;
+ collation: string;
+}
+
export interface TableField {
name: string;
key: string;
@@ -87,7 +100,7 @@ export interface TableField {
unsigned?: boolean;
zerofill?: boolean;
order?: number;
- default?: number | string;
+ default?: string;
enumValues?: string;
charset?: string;
collation?: string;
@@ -97,6 +110,7 @@ export interface TableField {
comment?: string;
after?: string;
orgName?: string;
+ length?: number;
}
export interface TableIndex {
@@ -170,6 +184,7 @@ export interface AlterTableParams {
}
// Views
+export type ViewInfos = TableInfos
export interface CreateViewParams {
schema: string;
name: string;
@@ -185,6 +200,18 @@ export interface AlterViewParams extends CreateViewParams {
}
// Triggers
+export interface TriggerInfos {
+ name: string;
+ statement: string;
+ timing: string;
+ definer: string;
+ event: string;
+ table: string;
+ sqlMode: string;
+ created: Date;
+ charset: string;
+}
+
export interface CreateTriggerParams {
definer?: string;
schema: string;
@@ -200,6 +227,19 @@ export interface AlterTriggerParams extends CreateTriggerParams {
}
// Routines & Functions
+export interface RoutineInfos {
+ name: string;
+ type: string;
+ definer: string;
+ created: string;
+ updated: string;
+ comment?: string;
+ charset?: string;
+ security?: string;
+}
+
+export type FunctionInfos = RoutineInfos
+
export interface FunctionParam {
context: string;
name: string;
@@ -244,6 +284,29 @@ export interface AlterFunctionParams extends CreateFunctionParams {
}
// Events
+export interface EventInfos {
+ name: string;
+ definition: string;
+ type: string;
+ definer: string;
+ body: string;
+ starts: string;
+ ends: string;
+ enabled: boolean;
+ executeAt: string;
+ intervalField: string;
+ intervalValue: string;
+ onCompletion: string;
+ originator: string;
+ sqlMode: string;
+ created: string;
+ updated: string;
+ lastExecuted: string;
+ comment: string;
+ charset: string;
+ timezone: string;
+}
+
export interface CreateEventParams {
definer?: string;
schema: string;
@@ -263,6 +326,17 @@ export interface AlterEventParams extends CreateEventParams {
oldName?: string;
}
+// Schema
+export interface SchemaInfos {
+ name: string;
+ size: number;
+ tables: TableInfos[];
+ functions: RoutineInfos[];
+ procedures: RoutineInfos[];
+ triggers: TriggerInfos[];
+ schedulers: EventInfos[];
+}
+
// Query
export interface QueryBuilderObject {
schema: string;
diff --git a/src/main/ipc-handlers/schema.ts b/src/main/ipc-handlers/schema.ts
index bb744c20..8d45aa82 100644
--- a/src/main/ipc-handlers/schema.ts
+++ b/src/main/ipc-handlers/schema.ts
@@ -172,7 +172,10 @@ export default (connections: {[key: string]: antares.Client}) => {
});
ipcMain.handle('export', (event, { uid, type, tables, ...rest }) => {
- if (exporter !== null) return;
+ if (exporter !== null) {
+ exporter.kill();
+ return;
+ }
return new Promise((resolve/*, reject */) => {
(async () => {
@@ -265,7 +268,10 @@ export default (connections: {[key: string]: antares.Client}) => {
});
ipcMain.handle('import-sql', async (event, options) => {
- if (importer !== null) return;
+ if (importer !== null) {
+ importer.kill();
+ return;
+ }
return new Promise((resolve/*, reject */) => {
(async () => {
diff --git a/src/main/libs/clients/MySQLClient.ts b/src/main/libs/clients/MySQLClient.ts
index fef7de49..acdf3311 100644
--- a/src/main/libs/clients/MySQLClient.ts
+++ b/src/main/libs/clients/MySQLClient.ts
@@ -321,7 +321,7 @@ export class MySQLClient extends AntaresCore {
return filteredDatabases.map(db => {
if (schemas.has(db.Database)) {
// TABLES
- const remappedTables = tablesArr.filter(table => table.Db === db.Database).map(table => {
+ const remappedTables: antares.TableInfos[] = tablesArr.filter(table => table.Db === db.Database).map(table => {
let tableType;
switch (table.Comment) {
case 'VIEW':
@@ -350,7 +350,7 @@ export class MySQLClient extends AntaresCore {
});
// PROCEDURES
- const remappedProcedures = procedures.filter(procedure => procedure.Db === db.Database).map(procedure => {
+ const remappedProcedures: antares.RoutineInfos[] = procedures.filter(procedure => procedure.Db === db.Database).map(procedure => {
return {
name: procedure.Name,
type: procedure.Type,
@@ -364,7 +364,7 @@ export class MySQLClient extends AntaresCore {
});
// FUNCTIONS
- const remappedFunctions = functions.filter(func => func.Db === db.Database).map(func => {
+ const remappedFunctions: antares.FunctionInfos[] = functions.filter(func => func.Db === db.Database).map(func => {
return {
name: func.Name,
type: func.Type,
@@ -378,7 +378,7 @@ export class MySQLClient extends AntaresCore {
});
// SCHEDULERS
- const remappedSchedulers = schedulers.filter(scheduler => scheduler.Db === db.Database).map(scheduler => {
+ const remappedSchedulers: antares.EventInfos[] = schedulers.filter(scheduler => scheduler.Db === db.Database).map(scheduler => {
return {
name: scheduler.EVENT_NAME,
definition: scheduler.EVENT_DEFINITION,
@@ -404,7 +404,7 @@ export class MySQLClient extends AntaresCore {
});
// TRIGGERS
- const remappedTriggers = triggersArr.filter(trigger => trigger.Db === db.Database).map(trigger => {
+ const remappedTriggers: antares.TriggerInfos[] = triggersArr.filter(trigger => trigger.Db === db.Database).map(trigger => {
return {
name: trigger.Trigger,
statement: trigger.Statement,
diff --git a/src/renderer/components/BaseTextEditor.vue b/src/renderer/components/BaseTextEditor.vue
index 5764536a..41209f1b 100644
--- a/src/renderer/components/BaseTextEditor.vue
+++ b/src/renderer/components/BaseTextEditor.vue
@@ -10,7 +10,7 @@
diff --git a/src/renderer/components/ModalAskCredentials.vue b/src/renderer/components/ModalAskCredentials.vue
index 3a71c924..5f50226b 100644
--- a/src/renderer/components/ModalAskCredentials.vue
+++ b/src/renderer/components/ModalAskCredentials.vue
@@ -55,30 +55,25 @@
-
diff --git a/src/renderer/components/ModalAskParameters.vue b/src/renderer/components/ModalAskParameters.vue
index fd9a3353..b44c3e73 100644
--- a/src/renderer/components/ModalAskParameters.vue
+++ b/src/renderer/components/ModalAskParameters.vue
@@ -47,83 +47,78 @@
-
diff --git a/src/renderer/components/ModalProcessesList.vue b/src/renderer/components/ModalProcessesList.vue
index 05f4fa10..fd0a96c4 100644
--- a/src/renderer/components/ModalProcessesList.vue
+++ b/src/renderer/components/ModalProcessesList.vue
@@ -133,218 +133,218 @@
-