refactor: passing schema from table context options

This commit is contained in:
Fabio Di Stasio 2021-07-14 18:15:13 +02:00
parent ed6e7fa72d
commit c87b8dc738
7 changed files with 38 additions and 31 deletions

View File

@ -1280,7 +1280,7 @@ export class MySQLClient extends AntaresCore {
* @memberof MySQLClient
*/
async duplicateTable (params) {
const sql = `CREATE TABLE \`${this._schema}\`.\`${params.table}_copy\` LIKE \`${this._schema}\`.\`${params.table}\``;
const sql = `CREATE TABLE \`${params.schema}\`.\`${params.table}_copy\` LIKE \`${params.schema}\`.\`${params.table}\``;
return await this.raw(sql);
}
@ -1291,7 +1291,7 @@ export class MySQLClient extends AntaresCore {
* @memberof MySQLClient
*/
async truncateTable (params) {
const sql = `TRUNCATE TABLE \`${this._schema}\`.\`${params.table}\``;
const sql = `TRUNCATE TABLE \`${params.schema}\`.\`${params.table}\``;
return await this.raw(sql);
}
@ -1302,7 +1302,7 @@ export class MySQLClient extends AntaresCore {
* @memberof MySQLClient
*/
async dropTable (params) {
const sql = `DROP TABLE \`${this._schema}\`.\`${params.table}\``;
const sql = `DROP TABLE \`${params.schema}\`.\`${params.table}\``;
return await this.raw(sql);
}

View File

@ -1157,7 +1157,7 @@ export class PostgreSQLClient extends AntaresCore {
* @memberof PostgreSQLClient
*/
async duplicateTable (params) {
const sql = `CREATE TABLE ${this._schema}.${params.table}_copy (LIKE ${this._schema}.${params.table} INCLUDING ALL)`;
const sql = `CREATE TABLE ${params.schema}.${params.table}_copy (LIKE ${params.schema}.${params.table} INCLUDING ALL)`;
return await this.raw(sql);
}
@ -1168,7 +1168,7 @@ export class PostgreSQLClient extends AntaresCore {
* @memberof PostgreSQLClient
*/
async truncateTable (params) {
const sql = `TRUNCATE TABLE ${this._schema}.${params.table}`;
const sql = `TRUNCATE TABLE ${params.schema}.${params.table}`;
return await this.raw(sql);
}
@ -1179,7 +1179,7 @@ export class PostgreSQLClient extends AntaresCore {
* @memberof PostgreSQLClient
*/
async dropTable (params) {
const sql = `DROP TABLE ${this._schema}.${params.table}`;
const sql = `DROP TABLE ${params.schema}.${params.table}`;
return await this.raw(sql);
}

View File

@ -72,7 +72,7 @@ import Schema from '@/ipc-api/Schema';
export default {
name: 'ModalEditSchema',
props: {
selectedDatabase: String
selectedSchema: String
},
data () {
return {
@ -99,7 +99,7 @@ export default {
async created () {
let actualCollation;
try {
const { status, response } = await Schema.getDatabaseCollation({ uid: this.selectedWorkspace, database: this.selectedDatabase });
const { status, response } = await Schema.getDatabaseCollation({ uid: this.selectedWorkspace, database: this.selectedSchema });
if (status === 'success')
actualCollation = response;
@ -112,8 +112,8 @@ export default {
}
this.database = {
name: this.selectedDatabase,
prevName: this.selectedDatabase,
name: this.selectedSchema,
prevName: this.selectedSchema,
collation: actualCollation || this.defaultCollation,
prevCollation: actualCollation || this.defaultCollation
};

View File

@ -100,7 +100,7 @@
/>
<DatabaseContext
v-if="isDatabaseContext"
:selected-database="selectedDatabase"
:selected-schema="selectedSchema"
:context-event="databaseContextEvent"
@close-context="closeDatabaseContext"
@show-create-table-modal="showCreateTableModal"
@ -114,6 +114,7 @@
/>
<TableContext
v-if="isTableContext"
:selected-schema="selectedSchema"
:selected-table="selectedTable"
:context-event="tableContextEvent"
@close-context="closeTableContext"
@ -211,7 +212,7 @@ export default {
tableContextEvent: null,
miscContextEvent: null,
selectedDatabase: '',
selectedSchema: '',
selectedTable: null,
selectedMisc: null,
searchTerm: ''
@ -315,14 +316,14 @@ export default {
if (status === 'success') {
await this.refresh();
this.changeBreadcrumbs({ schema: this.selectedDatabase, table: payload.name });
this.changeBreadcrumbs({ schema: this.selectedSchema, table: payload.name });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else
this.addNotification({ status: 'error', message: response });
},
openSchemaContext (payload) {
this.selectedDatabase = payload.schema;
this.selectedSchema = payload.schema;
this.databaseContextEvent = payload.event;
this.isDatabaseContext = true;
},
@ -331,6 +332,7 @@ export default {
},
openTableContext (payload) {
this.selectedTable = payload.table;
this.selectedSchema = payload.schema;
this.tableContextEvent = payload.event;
this.isTableContext = true;
},
@ -371,7 +373,7 @@ export default {
if (status === 'success') {
await this.refresh();
this.changeBreadcrumbs({ schema: this.selectedDatabase, view: payload.name });
this.changeBreadcrumbs({ schema: this.selectedSchema, view: payload.name });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else
@ -396,7 +398,7 @@ export default {
if (status === 'success') {
await this.refresh();
const triggerName = this.customizations.triggerTableInName ? `${payload.table}.${payload.name}` : payload.name;
this.changeBreadcrumbs({ schema: this.selectedDatabase, trigger: triggerName });
this.changeBreadcrumbs({ schema: this.selectedSchema, trigger: triggerName });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else
@ -420,7 +422,7 @@ export default {
if (status === 'success') {
await this.refresh();
this.changeBreadcrumbs({ schema: this.selectedDatabase, procedure: payload.name });
this.changeBreadcrumbs({ schema: this.selectedSchema, procedure: payload.name });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else
@ -460,7 +462,7 @@ export default {
if (status === 'success') {
await this.refresh();
this.changeBreadcrumbs({ schema: this.selectedDatabase, function: payload.name });
this.changeBreadcrumbs({ schema: this.selectedSchema, function: payload.name });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else
@ -476,7 +478,7 @@ export default {
if (status === 'success') {
await this.refresh();
this.changeBreadcrumbs({ schema: this.selectedDatabase, triggerFunction: payload.name });
this.changeBreadcrumbs({ schema: this.selectedSchema, triggerFunction: payload.name });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else
@ -492,7 +494,7 @@ export default {
if (status === 'success') {
await this.refresh();
this.changeBreadcrumbs({ schema: this.selectedDatabase, scheduler: payload.name });
this.changeBreadcrumbs({ schema: this.selectedSchema, scheduler: payload.name });
this.selectTab({ uid: this.workspace.uid, tab: 'prop' });
}
else

View File

@ -295,7 +295,7 @@ export default {
},
showTableContext (event, table) {
// this.setBreadcrumbs({ schema: this.database.name, [table.type]: table.name });
this.$emit('show-table-context', { event, table });
this.$emit('show-table-context', { event, schema: this.database.name, table });
},
showMiscContext (event, misc) {
this.setBreadcrumbs({ schema: this.database.name, [misc.type]: misc.name });

View File

@ -82,13 +82,13 @@
</template>
<div slot="body">
<div class="mb-2">
{{ $t('message.deleteCorfirm') }} "<b>{{ selectedDatabase }}</b>"?
{{ $t('message.deleteCorfirm') }} "<b>{{ selectedSchema }}</b>"?
</div>
</div>
</ConfirmModal>
<ModalEditSchema
v-if="isEditModal"
:selected-database="selectedDatabase"
:selected-schema="selectedSchema"
@close="hideEditModal"
/>
</BaseContextMenu>
@ -110,7 +110,7 @@ export default {
},
props: {
contextEvent: MouseEvent,
selectedDatabase: String
selectedSchema: String
},
data () {
return {
@ -173,11 +173,11 @@ export default {
try {
const { status, response } = await Schema.deleteSchema({
uid: this.selectedWorkspace,
database: this.selectedDatabase
database: this.selectedSchema
});
if (status === 'success') {
if (this.selectedDatabase === this.workspace.breadcrumbs.schema)
if (this.selectedSchema === this.workspace.breadcrumbs.schema)
this.changeBreadcrumbs({ schema: null });
this.closeContext();

View File

@ -72,7 +72,8 @@ export default {
},
props: {
contextEvent: MouseEvent,
selectedTable: Object
selectedTable: Object,
selectedSchema: String
},
data () {
return {
@ -116,7 +117,8 @@ export default {
try {
const { status, response } = await Tables.duplicateTable({
uid: this.selectedWorkspace,
table: this.selectedTable.name
table: this.selectedTable.name,
schema: this.selectedSchema
});
if (status === 'success') {
@ -134,7 +136,8 @@ export default {
try {
const { status, response } = await Tables.truncateTable({
uid: this.selectedWorkspace,
table: this.selectedTable.name
table: this.selectedTable.name,
schema: this.selectedSchema
});
if (status === 'success') {
@ -155,13 +158,15 @@ export default {
if (this.selectedTable.type === 'table') {
res = await Tables.dropTable({
uid: this.selectedWorkspace,
table: this.selectedTable.name
table: this.selectedTable.name,
schema: this.selectedSchema
});
}
else if (this.selectedTable.type === 'view') {
res = await Views.dropView({
uid: this.selectedWorkspace,
view: this.selectedTable.name
view: this.selectedTable.name,
schema: this.selectedSchema
});
}