diff --git a/src/main/libs/clients/MySQLClient.js b/src/main/libs/clients/MySQLClient.js index 8560dea7..6e31f262 100644 --- a/src/main/libs/clients/MySQLClient.js +++ b/src/main/libs/clients/MySQLClient.js @@ -1298,7 +1298,7 @@ export class MySQLClient extends AntaresCore { const length = typeInfo.length ? field.enumValues || field.numLength || field.charLength || field.datePrecision : false; newColumns.push(`\`${field.name}\` - ${field.type.toUpperCase()}${length ? `(${length}${field.numScale !== null ? `,${field.numScale}` : ''})` : ''} + ${field.type.toUpperCase()}${length ? `(${length}${field.numScale ? `,${field.numScale}` : ''})` : ''} ${field.unsigned ? 'UNSIGNED' : ''} ${field.zerofill ? 'ZEROFILL' : ''} ${field.nullable ? 'NULL' : 'NOT NULL'} @@ -1367,7 +1367,7 @@ export class MySQLClient extends AntaresCore { const length = typeInfo.length ? addition.enumValues || addition.numLength || addition.charLength || addition.datePrecision : false; alterColumns.push(`ADD COLUMN \`${addition.name}\` - ${addition.type.toUpperCase()}${length ? `(${length}${addition.numScale !== null ? `,${addition.numScale}` : ''})` : ''} + ${addition.type.toUpperCase()}${length ? `(${length}${addition.numScale ? `,${addition.numScale}` : ''})` : ''} ${addition.unsigned ? 'UNSIGNED' : ''} ${addition.zerofill ? 'ZEROFILL' : ''} ${addition.nullable ? 'NULL' : 'NOT NULL'} @@ -1405,7 +1405,7 @@ export class MySQLClient extends AntaresCore { const length = typeInfo.length ? change.enumValues || change.numLength || change.charLength || change.datePrecision : false; alterColumns.push(`CHANGE COLUMN \`${change.orgName}\` \`${change.name}\` - ${change.type.toUpperCase()}${length ? `(${length}${change.numScale !== null ? `,${change.numScale}` : ''})` : ''} + ${change.type.toUpperCase()}${length ? `(${length}${change.numScale ? `,${change.numScale}` : ''})` : ''} ${change.unsigned ? 'UNSIGNED' : ''} ${change.zerofill ? 'ZEROFILL' : ''} ${change.nullable ? 'NULL' : 'NOT NULL'} diff --git a/src/main/libs/clients/PostgreSQLClient.js b/src/main/libs/clients/PostgreSQLClient.js index 16d4913c..9eca73be 100644 --- a/src/main/libs/clients/PostgreSQLClient.js +++ b/src/main/libs/clients/PostgreSQLClient.js @@ -1255,7 +1255,7 @@ export class PostgreSQLClient extends AntaresCore { localType = change.type.toLowerCase(); } - alterColumns.push(`ALTER COLUMN "${change.name}" TYPE ${localType}${length ? `(${length}${change.numScale !== null ? `,${change.numScale}` : ''})` : ''}${change.isArray ? '[]' : ''} USING "${change.name}"::${localType}`); + alterColumns.push(`ALTER COLUMN "${change.name}" TYPE ${localType}${length ? `(${length}${change.numScale ? `,${change.numScale}` : ''})` : ''}${change.isArray ? '[]' : ''} USING "${change.name}"::${localType}`); alterColumns.push(`ALTER COLUMN "${change.name}" ${change.nullable ? 'DROP NOT NULL' : 'SET NOT NULL'}`); alterColumns.push(`ALTER COLUMN "${change.name}" ${change.default ? `SET DEFAULT ${change.default}` : 'DROP DEFAULT'}`); diff --git a/src/renderer/components/WorkspaceTabPropsTableRow.vue b/src/renderer/components/WorkspaceTabPropsTableRow.vue index f6a9bf00..0cb10856 100644 --- a/src/renderer/components/WorkspaceTabPropsTableRow.vue +++ b/src/renderer/components/WorkspaceTabPropsTableRow.vue @@ -493,9 +493,10 @@ export default { this.editingContent = this.localRow.enumValues; this.originalContent = this.localRow.enumValues; } - else if (this.localRow.numScale !== null && field === 'length') { - this.editingContent = `${content}, ${this.localRow.numScale}`; - this.originalContent = `${content}, ${this.localRow.numScale}`; + else if (this.fieldType.scale && field === 'length') { + const scale = this.localRow.numScale !== null ? this.localRow.numScale : 0; + this.editingContent = `${content}, ${scale}`; + this.originalContent = `${content}, ${scale}`; } else { this.editingContent = content; @@ -519,10 +520,10 @@ export default { if (this.editingField === 'name') this.$emit('rename-field', { old: this.localRow[this.editingField], new: this.editingContent }); - if (this.editingField === 'numLength' && this.localRow.numScale !== null && this.editingContent.includes(',')) { + if (this.editingField === 'numLength' && this.fieldType.scale) { const [length, scale] = this.editingContent.split(','); this.localRow.numLength = +length; - this.localRow.numScale = +scale; + this.localRow.numScale = scale ? +scale : null; } else this.localRow[this.editingField] = this.editingContent;