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


Reply via email to