You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2007/12/19 16:15:11 UTC
svn commit: r605572 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne:
dba/hsqldb/ dba/postgres/ dba/sqlserver/ merge/
Author: torehalset
Date: Wed Dec 19 07:15:11 2007
New Revision: 605572
URL: http://svn.apache.org/viewvc?rev=605572&view=rev
Log:
CAY-937: Database Schema Migration does not create FK constraints
* tested on MS SQL Server
* better default for drop foreign key
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/hsqldb/HSQLMergerFactory.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresMergerFactory.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerMergerFactory.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/hsqldb/HSQLMergerFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/hsqldb/HSQLMergerFactory.java?rev=605572&r1=605571&r2=605572&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/hsqldb/HSQLMergerFactory.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/hsqldb/HSQLMergerFactory.java Wed Dec 19 07:15:11 2007
@@ -18,14 +18,8 @@
****************************************************************/
package org.apache.cayenne.dba.hsqldb;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.DbRelationship;
-import org.apache.cayenne.merge.DropRelationshipToDb;
import org.apache.cayenne.merge.MergerFactory;
import org.apache.cayenne.merge.MergerToken;
import org.apache.cayenne.merge.SetColumnTypeToDb;
@@ -47,32 +41,6 @@
sqlBuffer.append(" ALTER ");
sqlBuffer.append(columnNew.getName());
sqlBuffer.append(" ");
- }
- };
- }
-
- @Override
- public MergerToken createDropRelationshipToDb(
- final DbEntity entity,
- final DbRelationship rel) {
-
- return new DropRelationshipToDb(entity, rel) {
-
- @Override
- public List<String> createSql(DbAdapter adapter) {
- String fkName = getFkName();
-
- if (fkName == null) {
- return Collections.emptyList();
- }
-
- StringBuilder buf = new StringBuilder();
- buf.append("ALTER TABLE ");
- buf.append(entity.getFullyQualifiedName());
- buf.append(" DROP CONSTRAINT ");
- buf.append(fkName);
-
- return Collections.singletonList(buf.toString());
}
};
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresMergerFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresMergerFactory.java?rev=605572&r1=605571&r2=605572&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresMergerFactory.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresMergerFactory.java Wed Dec 19 07:15:11 2007
@@ -18,14 +18,8 @@
****************************************************************/
package org.apache.cayenne.dba.postgres;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.DbRelationship;
-import org.apache.cayenne.merge.DropRelationshipToDb;
import org.apache.cayenne.merge.MergerFactory;
import org.apache.cayenne.merge.MergerToken;
import org.apache.cayenne.merge.SetColumnTypeToDb;
@@ -52,30 +46,4 @@
};
}
- @Override
- public MergerToken createDropRelationshipToDb(
- final DbEntity entity,
- final DbRelationship rel) {
-
- return new DropRelationshipToDb(entity, rel) {
-
- @Override
- public List<String> createSql(DbAdapter adapter) {
- String fkName = getFkName();
-
- if (fkName == null) {
- return Collections.emptyList();
- }
-
- // http://www.postgresql.org/docs/8.2/static/sql-altertable.html
- StringBuilder buf = new StringBuilder();
- buf.append("ALTER TABLE ");
- buf.append(entity.getFullyQualifiedName());
- buf.append(" DROP CONSTRAINT ");
- buf.append(fkName);
-
- return Collections.singletonList(buf.toString());
- }
- };
- }
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerMergerFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerMergerFactory.java?rev=605572&r1=605571&r2=605572&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerMergerFactory.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerMergerFactory.java Wed Dec 19 07:15:11 2007
@@ -35,6 +35,7 @@
return new SetColumnTypeToDb(entity, columnOriginal, columnNew) {
+ @Override
protected void appendPrefix(StringBuffer sqlBuffer) {
// http://msdn2.microsoft.com/en-us/library/ms190273.aspx
sqlBuffer.append("ALTER TABLE ");
@@ -47,11 +48,10 @@
}
@Override
- public MergerToken createAddColumnToDb(
- final DbEntity entity,
- final DbAttribute column) {
+ public MergerToken createAddColumnToDb(final DbEntity entity, final DbAttribute column) {
return new AddColumnToDb(entity, column) {
+ @Override
protected void appendPrefix(StringBuffer sqlBuffer) {
// http://msdn2.microsoft.com/en-us/library/ms190273.aspx
sqlBuffer.append("ALTER TABLE ");
@@ -62,4 +62,5 @@
}
};
}
+
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java?rev=605572&r1=605571&r2=605572&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java Wed Dec 19 07:15:11 2007
@@ -54,7 +54,7 @@
StringBuilder buf = new StringBuilder();
buf.append("ALTER TABLE ");
buf.append(entity.getFullyQualifiedName());
- buf.append(" DROP FOREIGN KEY ");
+ buf.append(" DROP CONSTRAINT ");
buf.append(fkName);
return Collections.singletonList(buf.toString());