Timestamp column migration in all workspace schema tables (#13679)
fixes https://github.com/twentyhq/private-issues/issues/288 Test with : `npx nx run twenty-server:command upgrade:1-3:update-timestamp-column-type-in-workspace-schema`
This commit is contained in:
+4
@@ -179,6 +179,10 @@ export class WorkspaceMigrationColumnService {
|
||||
column: {
|
||||
name: createColumnMigration.columnName,
|
||||
type: createColumnMigration.columnType,
|
||||
precision:
|
||||
createColumnMigration.columnType === 'timestamptz'
|
||||
? 3
|
||||
: undefined,
|
||||
isArray: createColumnMigration.isArray ?? false,
|
||||
isNullable: createColumnMigration.isNullable,
|
||||
default: createColumnMigration.defaultValue,
|
||||
|
||||
+5
-2
@@ -15,13 +15,16 @@ export class WorkspaceMigrationTypeService {
|
||||
migrationColumn: WorkspaceMigrationColumnAlter,
|
||||
) {
|
||||
const columnDefinition = migrationColumn.alteredColumnDefinition;
|
||||
const computedColumnType = ` ${columnDefinition.columnType}${
|
||||
columnDefinition.columnType === 'timestamptz' ? `(3)` : ''
|
||||
}`;
|
||||
|
||||
// Update the column type
|
||||
// If casting is not possible, the query will fail
|
||||
await queryRunner.query(`
|
||||
ALTER TABLE "${schemaName}"."${tableName}"
|
||||
ALTER COLUMN "${columnDefinition.columnName}" TYPE ${columnDefinition.columnType}
|
||||
USING "${columnDefinition.columnName}"::${columnDefinition.columnType}
|
||||
ALTER COLUMN "${columnDefinition.columnName}" TYPE ${computedColumnType}
|
||||
USING "${columnDefinition.columnName}"::${computedColumnType}
|
||||
`);
|
||||
|
||||
// Update the column default value
|
||||
|
||||
+2
@@ -19,6 +19,7 @@ export const typeormBuildCreateColumnSql = ({
|
||||
| 'default'
|
||||
| 'generatedType'
|
||||
| 'asExpression'
|
||||
| 'precision'
|
||||
>;
|
||||
}): string => {
|
||||
let columnSql = '"' + column.name + '"';
|
||||
@@ -30,6 +31,7 @@ export const typeormBuildCreateColumnSql = ({
|
||||
})}"`;
|
||||
} else {
|
||||
columnSql += ' ' + column.type;
|
||||
if (column.precision) columnSql += `(${column.precision})`;
|
||||
}
|
||||
|
||||
if (column.isArray) columnSql += '[]';
|
||||
|
||||
Reference in New Issue
Block a user