You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by jo...@apache.org on 2013/06/13 22:32:07 UTC
svn commit: r1492852 - in
/cayenne/sandbox/cayenne-migrations/src/main/java/org/apache/cayenne/migration:
MigrationDatabase.java MigrationGenerator.java Migrator.java
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();