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();