From ba9774375430b9470c0824cb928d9bd5c86a17cd Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Wed, 22 Oct 2008 01:09:22 +0000 Subject: [PATCH] Make sure we use the up to date metadata when doing our stale column check. --- src/java/com/samskivert/jdbc/depot/DepotMarshaller.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java b/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java index 61b0cde..73f4c12 100644 --- a/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java +++ b/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java @@ -641,9 +641,10 @@ public class DepotMarshaller if (!metaData.tableExists) { // if the table does not exist, create it createTable(ctx, builder, declarations); + metaData = TableMetaData.load(ctx, getTableName()); } else { // if it does exist, run our migrations - runMigrations(ctx, metaData, builder, currentVersion); + metaData = runMigrations(ctx, metaData, builder, currentVersion); } // check for stale columns now that the table is up to date @@ -720,8 +721,8 @@ public class DepotMarshaller }); } - protected void runMigrations (PersistenceContext ctx, TableMetaData metaData, - final SQLBuilder builder, int currentVersion) + protected TableMetaData runMigrations (PersistenceContext ctx, TableMetaData metaData, + final SQLBuilder builder, int currentVersion) throws DatabaseException { log.info("Migrating " + getTableName() + " from " + currentVersion + " to " + @@ -932,6 +933,8 @@ public class DepotMarshaller } }); } + + return metaData; } // translate an array of field names to an array of column names