Add renameColumn method
Change-Id: Ic0ea20e51c33c79a649cfd44dcaec26c5992dc7e
diff --git a/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java b/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java
index 8ba2d64..60100a2 100644
--- a/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java
+++ b/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java
@@ -120,6 +120,19 @@
getDialect().renameColumn(e, table, from, col);
}
+ public void renameColumn(final StatementExecutor e, String table, String from,
+ String to) throws OrmException {
+ final RelationModel rel = findRelationModel(table);
+ if (rel == null) {
+ throw new OrmException("Relation " + table + " not defined");
+ }
+ final ColumnModel col = rel.getColumn(to);
+ if (col == null) {
+ throw new OrmException("Relation " + table + " does not have " + to);
+ }
+ getDialect().renameColumn(e, table, from, col);
+ }
+
private RelationModel findRelationModel(String table) {
for (final RelationModel rel : dbDef.getSchemaModel().getRelations()) {
if (table.equalsIgnoreCase(rel.getRelationName())) {
diff --git a/src/main/java/com/google/gwtorm/schema/RelationModel.java b/src/main/java/com/google/gwtorm/schema/RelationModel.java
index 363960e..aab3132 100644
--- a/src/main/java/com/google/gwtorm/schema/RelationModel.java
+++ b/src/main/java/com/google/gwtorm/schema/RelationModel.java
@@ -199,6 +199,10 @@
return fieldsByFieldName.get(name);
}
+ public ColumnModel getColumn(final String name) {
+ return columnsByColumnName.get(name);
+ }
+
public String getCreateTableSql(final SqlDialect dialect) {
final StringBuilder r = new StringBuilder();
r.append("CREATE TABLE ");