|
@@ -49,7 +49,8 @@ public class SchemaUtils {
|
|
builder.add(newColumn(column.getName())
|
|
builder.add(newColumn(column.getName())
|
|
.type(column.getType())
|
|
.type(column.getType())
|
|
.notNull(column.isNotNull())
|
|
.notNull(column.isNotNull())
|
|
- .primaryKey(column.isPrimaryKey()));
|
|
+ .primaryKey(column.isPrimaryKey())
|
|
|
|
+ .defaultValue(column.getDefaultValue()));
|
|
});
|
|
});
|
|
if (null != table.getIndices()) {
|
|
if (null != table.getIndices()) {
|
|
table.getIndices().forEach(index -> {
|
|
table.getIndices().forEach(index -> {
|
|
@@ -145,6 +146,7 @@ public class SchemaUtils {
|
|
private String type;
|
|
private String type;
|
|
private boolean notNull;
|
|
private boolean notNull;
|
|
private boolean primaryKey;
|
|
private boolean primaryKey;
|
|
|
|
+ private Object defaultValue;
|
|
|
|
|
|
public String getName() {
|
|
public String getName() {
|
|
return name;
|
|
return name;
|
|
@@ -177,6 +179,14 @@ public class SchemaUtils {
|
|
public void setPrimaryKey(boolean primaryKey) {
|
|
public void setPrimaryKey(boolean primaryKey) {
|
|
this.primaryKey = primaryKey;
|
|
this.primaryKey = primaryKey;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public Object getDefaultValue() {
|
|
|
|
+ return defaultValue;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setDefaultValue(Object defaultValue) {
|
|
|
|
+ this.defaultValue = defaultValue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private static class ColumnBuilder {
|
|
private static class ColumnBuilder {
|
|
@@ -184,6 +194,7 @@ public class SchemaUtils {
|
|
private String type;
|
|
private String type;
|
|
private boolean notNull;
|
|
private boolean notNull;
|
|
private boolean primaryKey;
|
|
private boolean primaryKey;
|
|
|
|
+ private Object defaultValue;
|
|
|
|
|
|
public ColumnBuilder(String name) {
|
|
public ColumnBuilder(String name) {
|
|
this.name = name;
|
|
this.name = name;
|
|
@@ -214,6 +225,11 @@ public class SchemaUtils {
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public ColumnBuilder defaultValue(Object defaultValue) {
|
|
|
|
+ this.defaultValue = defaultValue;
|
|
|
|
+ return this;
|
|
|
|
+ }
|
|
|
|
+
|
|
private void add(TableBuilder builder, JdbcTemplate jdbcTemplate) {
|
|
private void add(TableBuilder builder, JdbcTemplate jdbcTemplate) {
|
|
create(builder, jdbcTemplate, false);
|
|
create(builder, jdbcTemplate, false);
|
|
}
|
|
}
|
|
@@ -232,13 +248,22 @@ public class SchemaUtils {
|
|
@Override
|
|
@Override
|
|
public String toString() {
|
|
public String toString() {
|
|
StringBuffer str = new StringBuffer(name).append(" ");
|
|
StringBuffer str = new StringBuffer(name).append(" ");
|
|
- str.append(StringUtils.nvl(type, "varchar2(255)"));
|
|
+ String colType = StringUtils.nvl(type, "varchar2(255)");
|
|
|
|
+ str.append(colType);
|
|
if (notNull) {
|
|
if (notNull) {
|
|
str.append(" not null");
|
|
str.append(" not null");
|
|
}
|
|
}
|
|
if (primaryKey) {
|
|
if (primaryKey) {
|
|
str.append(" primary key");
|
|
str.append(" primary key");
|
|
}
|
|
}
|
|
|
|
+ if (null != defaultValue) {
|
|
|
|
+ str.append("default ");
|
|
|
|
+ if (colType.toLowerCase().startsWith("varchar")) {
|
|
|
|
+ str.append("'").append(defaultValue).append("'");
|
|
|
|
+ } else {
|
|
|
|
+ str.append(defaultValue);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return str.toString();
|
|
return str.toString();
|
|
}
|
|
}
|
|
}
|
|
}
|