Author: johnthuss Date: Thu Jun 13 20:32:07 2013 New Revision: 1492852 URL: http://svn.apache.org/r1492852 Log: Include catalog and schema in table names where generating sql statements Ignore empty sql files Better error message on migration failure
Modified: cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationDatabase.java cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationGenerator.java cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/Migrator.java Modified: cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationDatabase.java URL: http://svn.apache.org/viewvc/cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationDatabase.java?rev=1492852&r1=1492851&r2=1492852&view=diff ============================================================================== --- cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationDatabase.java (original) +++ cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationDatabase.java Thu Jun 13 20:32:07 2013 @@ -136,7 +136,9 @@ public class MigrationDatabase { * @param sql */ public void execute(String sql) { - addOperation(new ArbitrarySqlToDb(sql)); + if (sql != null && sql.trim().length() != 0) { + addOperation(new ArbitrarySqlToDb(sql)); + } } } Modified: cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationGenerator.java URL: http://svn.apache.org/viewvc/cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationGenerator.java?rev=1492852&r1=1492851&r2=1492852&view=diff ============================================================================== --- cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationGenerator.java (original) +++ cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/MigrationGenerator.java Thu Jun 13 20:32:07 2013 @@ -124,9 +124,16 @@ public class MigrationGenerator { } } + protected String fullyQualifiedTableName(DbEntity entity) { + String fullyQualifiedTableName = StringUtils.isEmpty(entity.getCatalog()) ? "" : (entity.getCatalog()+"."); + fullyQualifiedTableName += StringUtils.isEmpty(entity.getSchema()) ? "" : (entity.getSchema()+"."); + fullyQualifiedTableName += entity.getName(); + return fullyQualifiedTableName; + } + protected void createTable(DbEntity entity) { String tableName = tableName(entity); - buffer.append("\t\tMigrationTableNew " + tableName + " = db.createTable(\"" + entity.getName() + "\");\n"); + buffer.append("\t\tMigrationTableNew " + tableName + " = db.createTable(\"" + fullyQualifiedTableName(entity) + "\");\n"); for (DbAttribute attribute : entity.getAttributes()) { String type = nameForJdbcType(attribute.getType()); @@ -183,7 +190,7 @@ public class MigrationGenerator { if (!relationship.isToMany() && relationship.isToPK()) { buffer.append(String.format("\t\t%s.addForeignKey(\"%s\", \"%s\", \"%s\");\n", tableName, relationship.getSourceAttributes().iterator().next().getName(), - relationship.getTargetEntity().getName(), + fullyQualifiedTableName((DbEntity)relationship.getTargetEntity()), relationship.getTargetAttributes().iterator().next().getName())); } } Modified: cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/Migrator.java URL: http://svn.apache.org/viewvc/cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/Migrator.java?rev=1492852&r1=1492851&r2=1492852&view=diff ============================================================================== --- cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/Migrator.java (original) +++ cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration/Migrator.java Thu Jun 13 20:32:07 2013 @@ -165,7 +165,7 @@ public class Migrator { try { executeOperations(migration.getDatabase().getOperations()); } catch (Exception e) { - throw new RuntimeException("Failed to migrate database to version " + version + ": " + e.getMessage(), e); + throw new RuntimeException("Failed to migrate node=" + node.getName() + ", dataMap=" + map.getName() + " to version=" + version + ": " + e.getMessage(), e); } setDbVersion(map, version); getConnection().commit();