From 5425817eac4a721422a254cc5e7939d9b4685245 Mon Sep 17 00:00:00 2001 From: Philip Marzullo Date: Mon, 14 Oct 2019 14:55:56 -0400 Subject: [PATCH] 0004112: Postgres Time column type can't be converted to Timestamp column type without a cast when restoring the data --- .../db/platform/postgresql/PostgreSqlDdlBuilder.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDdlBuilder.java index ea3b5d9419..a014a090a1 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDdlBuilder.java @@ -280,6 +280,18 @@ public String getSelectLastIdentityValues(Table table) { return result.toString(); } } + + @Override + protected void writeCastExpression(Column sourceColumn, Column targetColumn, StringBuilder ddl) { + if(sourceColumn != null && sourceColumn.getMappedTypeCode() == Types.TIME && + targetColumn != null && targetColumn.getMappedTypeCode() == Types.TIMESTAMP) + { + ddl.append("date_trunc('DAY', localtimestamp) + "); + printIdentifier(getColumnName(sourceColumn), ddl); + } else { + super.writeCastExpression(sourceColumn, targetColumn, ddl); + } + } @Override protected void processTableStructureChanges(Database currentModel, Database desiredModel,