Release 0.0.6: Drop column Statements, refactoring: flexible array Parameter instead Collections.

master
Markus Kreth 8 years ago
parent 71988fc3e3
commit e2a5228491
  1. 2
      .gitignore
  2. 2
      pom.xml
  3. 26
      src/main/java/de/kreth/dbmanager/DbManager.java
  4. 6
      src/test/java/de/kreth/dbmanager/DbManagerAddColumnTest.java

2
.gitignore vendored

@ -1,3 +1,5 @@
/target/
.classpath
\.settings/
/bin

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.kreth</groupId>
<artifactId>databasedefinition</artifactId>
<version>0.0.6-SNAPSHOT</version>
<version>0.0.6</version>
<name>DatabaseDefinition</name>
<description>Database creation and definition framework</description>

@ -164,7 +164,7 @@ public class DbManager {
}
}
public static String createSqlAddColumns(TableDefinition current, Collection<ColumnDefinition> columnsToAdd) {
public static String createSqlAddColumns(TableDefinition current, ColumnDefinition... columnsToAdd) {
StringBuilder sql = new StringBuilder();
sql.append("ALTER TABLE ").append(current.getTableName());
@ -187,4 +187,28 @@ public class DbManager {
sql.append(";");
return sql.toString();
}
public static String createSqlDropColumns(TableDefinition current, ColumnDefinition... columnsToDrop) {
StringBuilder sql = new StringBuilder();
sql.append("ALTER TABLE ").append(current.getTableName());
boolean first = true;
for (ColumnDefinition col : columnsToDrop) {
if (!first) {
sql.append(",");
}
first = false;
sql.append("\n\tDROP COLUMN ").append(col.getColumnName()).append(" ");
appendType(sql, col);
if (col.getColumnParameters() != null && !col.getColumnParameters().isEmpty()) {
sql.append(" ").append(col.getColumnParameters());
}
}
sql.append(";");
return sql.toString();
}
}

@ -19,9 +19,7 @@ public class DbManagerAddColumnTest {
TableDefinition def = new TableDefinition("testtable", new ArrayList<ColumnDefinition>());
List<ColumnDefinition> columns = new ArrayList<ColumnDefinition>();
columns.add(new ColumnDefinition(DataType.DATETIME, "deleted", " DEFAULT null"));
String sql = DbManager.createSqlAddColumns(def, columns);
String sql = DbManager.createSqlAddColumns(def, new ColumnDefinition(DataType.DATETIME, "deleted", " DEFAULT null"));
assertEquals("ALTER TABLE testtable\n\tADD COLUMN deleted DATETIME DEFAULT null;", sql);
}
@ -33,7 +31,7 @@ public class DbManagerAddColumnTest {
List<ColumnDefinition> columns = new ArrayList<ColumnDefinition>();
columns.add(new ColumnDefinition(DataType.DATETIME, "deleted", " DEFAULT null"));
columns.add(new ColumnDefinition(DataType.VARCHAR25, "theType"));
String sql = DbManager.createSqlAddColumns(def, columns);
String sql = DbManager.createSqlAddColumns(def, columns.toArray(new ColumnDefinition[]{}));
assertEquals(
"ALTER TABLE testtable\n\tADD COLUMN deleted DATETIME DEFAULT null,\n\tADD COLUMN theType VARCHAR(25);",
sql);

Loading…
Cancel
Save