mirror of
https://github.com/Fabio286/antares.git
synced 2025-06-05 21:59:22 +02:00
feat: stored routines delete
This commit is contained in:
@ -440,9 +440,12 @@ export class MySQLClient extends AntaresCore {
|
|||||||
.split(',')
|
.split(',')
|
||||||
.map(el => {
|
.map(el => {
|
||||||
const param = el.split(' ');
|
const param = el.split(' ');
|
||||||
|
const type = param[2] ? param[2].replace(')', '').split('(') : ['', null];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
name: param[1] ? param[1].replaceAll('`', '') : '',
|
name: param[1] ? param[1].replaceAll('`', '') : '',
|
||||||
type: param[2] ? param[2].replace(',', '') : '',
|
type: type[0],
|
||||||
|
length: +type[1],
|
||||||
context: param[0] ? param[0].replace('\n', '') : ''
|
context: param[0] ? param[0].replace('\n', '') : ''
|
||||||
};
|
};
|
||||||
}).filter(el => el.name);
|
}).filter(el => el.name);
|
||||||
@ -509,7 +512,7 @@ export class MySQLClient extends AntaresCore {
|
|||||||
*/
|
*/
|
||||||
async createRoutine (routine) {
|
async createRoutine (routine) {
|
||||||
const parameters = routine.parameters.reduce((acc, curr) => {
|
const parameters = routine.parameters.reduce((acc, curr) => {
|
||||||
acc.push(`${curr.context} \`${curr.name}\` ${curr.type}`);
|
acc.push(`${curr.context} \`${curr.name}\` ${curr.type}${curr.length ? `(${curr.length})` : ''}`);
|
||||||
return acc;
|
return acc;
|
||||||
}, []).join(',');
|
}, []).join(',');
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ import { mapGetters, mapActions } from 'vuex';
|
|||||||
import BaseContextMenu from '@/components/BaseContextMenu';
|
import BaseContextMenu from '@/components/BaseContextMenu';
|
||||||
import ConfirmModal from '@/components/BaseConfirmModal';
|
import ConfirmModal from '@/components/BaseConfirmModal';
|
||||||
import Triggers from '@/ipc-api/Triggers';
|
import Triggers from '@/ipc-api/Triggers';
|
||||||
|
import Routines from '@/ipc-api/Routines';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'WorkspaceExploreBarMiscContext',
|
name: 'WorkspaceExploreBarMiscContext',
|
||||||
@ -66,7 +67,8 @@ export default {
|
|||||||
switch (this.selectedMisc.type) {
|
switch (this.selectedMisc.type) {
|
||||||
case 'trigger':
|
case 'trigger':
|
||||||
return this.$t('message.deleteTrigger');
|
return this.$t('message.deleteTrigger');
|
||||||
|
case 'procedure':
|
||||||
|
return this.$t('message.deleteRoutine');
|
||||||
default:
|
default:
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@ -106,12 +108,12 @@ export default {
|
|||||||
trigger: this.selectedMisc.name
|
trigger: this.selectedMisc.name
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
// case 'procedure':
|
case 'procedure':
|
||||||
// res = await Tables.dropProcedure({
|
res = await Routines.dropRoutine({
|
||||||
// uid: this.selectedWorkspace,
|
uid: this.selectedWorkspace,
|
||||||
// procedure: this.selectedMisc.name
|
routine: this.selectedMisc.name
|
||||||
// });
|
});
|
||||||
// break;
|
break;
|
||||||
// case 'schedules':
|
// case 'schedules':
|
||||||
// res = await Tables.dropScheduler({
|
// res = await Tables.dropScheduler({
|
||||||
// uid: this.selectedWorkspace,
|
// uid: this.selectedWorkspace,
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
<div class="tile-title">
|
<div class="tile-title">
|
||||||
{{ param.name }}
|
{{ param.name }}
|
||||||
</div>
|
</div>
|
||||||
<small class="tile-subtitle text-gray">{{ param.type }} · {{ param.context }}</small>
|
<small class="tile-subtitle text-gray">{{ param.type }}{{ param.length ? `(${param.length})` : '' }} · {{ param.context }}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="tile-action">
|
<div class="tile-action">
|
||||||
<button
|
<button
|
||||||
@ -105,6 +105,18 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label col-3">
|
||||||
|
{{ $t('word.length') }}
|
||||||
|
</label>
|
||||||
|
<div class="column">
|
||||||
|
<input
|
||||||
|
v-model="selectedParamObj.length"
|
||||||
|
class="form-input"
|
||||||
|
type="number"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label col-3">
|
<label class="form-label col-3">
|
||||||
{{ $t('word.context') }}
|
{{ $t('word.context') }}
|
||||||
@ -216,7 +228,8 @@ export default {
|
|||||||
this.parametersProxy = [...this.parametersProxy, {
|
this.parametersProxy = [...this.parametersProxy, {
|
||||||
name: `Param${this.i++}`,
|
name: `Param${this.i++}`,
|
||||||
type: 'INT',
|
type: 'INT',
|
||||||
context: 'IN'
|
context: 'IN',
|
||||||
|
length: 10
|
||||||
}];
|
}];
|
||||||
|
|
||||||
if (this.parametersProxy.length === 1)
|
if (this.parametersProxy.length === 1)
|
||||||
|
@ -156,7 +156,8 @@ module.exports = {
|
|||||||
routineBody: 'Routine body',
|
routineBody: 'Routine body',
|
||||||
dataAccess: 'Data access',
|
dataAccess: 'Data access',
|
||||||
thereAreNoParameters: 'There are no parameters',
|
thereAreNoParameters: 'There are no parameters',
|
||||||
createNewParameter: 'Create new parameter'
|
createNewParameter: 'Create new parameter',
|
||||||
|
deleteRoutine: 'Delete stored routine'
|
||||||
},
|
},
|
||||||
// Date and Time
|
// Date and Time
|
||||||
short: {
|
short: {
|
||||||
|
Reference in New Issue
Block a user