fixed mssql defaults

This commit is contained in:
Jan Prochazka 2024-10-29 16:07:51 +01:00
parent 7deeb78d69
commit d661b9f6a4
2 changed files with 11 additions and 2 deletions

View File

@ -51,6 +51,15 @@ function getColumnInfo({
if (numericPrecision && numericScale && isTypeNumeric(dataType)) { if (numericPrecision && numericScale && isTypeNumeric(dataType)) {
fullDataType = `${dataType}(${numericPrecision},${numericScale})`; fullDataType = `${dataType}(${numericPrecision},${numericScale})`;
} }
if (defaultValue) {
defaultValue = defaultValue.trim();
while (defaultValue.startsWith('(') && defaultValue.endsWith(')')) {
defaultValue = defaultValue.slice(1, -1);
defaultValue = defaultValue.trim();
}
}
return { return {
columnName, columnName,
dataType: fullDataType, dataType: fullDataType,

View File

@ -128,14 +128,14 @@ class MsSqlDumper extends SqlDumper {
if (testEqualColumns(oldcol, newcol, false, false)) { if (testEqualColumns(oldcol, newcol, false, false)) {
this.dropDefault(oldcol); this.dropDefault(oldcol);
if (oldcol.columnName != newcol.columnName) this.renameColumn(oldcol, newcol.columnName); if (oldcol.columnName != newcol.columnName) this.renameColumn(oldcol, newcol.columnName);
this.createDefault(oldcol); this.createDefault(newcol);
} else { } else {
this.dropDefault(oldcol); this.dropDefault(oldcol);
if (oldcol.columnName != newcol.columnName) this.renameColumn(oldcol, newcol.columnName); if (oldcol.columnName != newcol.columnName) this.renameColumn(oldcol, newcol.columnName);
this.put('^alter ^table %f ^alter ^column %i ', oldcol, oldcol.columnName, newcol.columnName); this.put('^alter ^table %f ^alter ^column %i ', oldcol, oldcol.columnName, newcol.columnName);
this.columnDefinition(newcol, { includeDefault: false }); this.columnDefinition(newcol, { includeDefault: false });
this.endCommand(); this.endCommand();
this.createDefault(oldcol); this.createDefault(newcol);
} }
} }