Commit 135aa8ddb9d075837513db5cc4072d601d50b596

Authored by Igor Kulikov
1 parent 22e5da1c

Fix migration script

... ... @@ -135,7 +135,7 @@ public class CassandraEntitiesToSqlMigrateService implements EntitiesMigrateServ
135 135 stringColumn("entity_type"),
136 136 stringColumn("attribute_type"),
137 137 stringColumn("attribute_key"),
138   - booleanColumn("bool_v"),
  138 + booleanColumn("bool_v", true),
139 139 stringColumn("str_v"),
140 140 bigintColumn("long_v"),
141 141 doubleColumn("dbl_v"),
... ...
... ... @@ -38,6 +38,7 @@ public class CassandraToSqlColumn {
38 38 private int sqlType;
39 39 private int size;
40 40 private Class<? extends Enum> enumClass;
  41 + private boolean allowNullBoolean = false;
41 42
42 43 public static CassandraToSqlColumn idColumn(String name) {
43 44 return new CassandraToSqlColumn(name, CassandraToSqlColumnType.ID);
... ... @@ -60,7 +61,11 @@ public class CassandraToSqlColumn {
60 61 }
61 62
62 63 public static CassandraToSqlColumn booleanColumn(String name) {
63   - return new CassandraToSqlColumn(name, CassandraToSqlColumnType.BOOLEAN);
  64 + return booleanColumn(name, false);
  65 + }
  66 +
  67 + public static CassandraToSqlColumn booleanColumn(String name, boolean allowNullBoolean) {
  68 + return new CassandraToSqlColumn(name, name, CassandraToSqlColumnType.BOOLEAN, null, allowNullBoolean);
64 69 }
65 70
66 71 public static CassandraToSqlColumn jsonColumn(String name) {
... ... @@ -72,32 +77,33 @@ public class CassandraToSqlColumn {
72 77 }
73 78
74 79 public CassandraToSqlColumn(String columnName) {
75   - this(columnName, columnName, CassandraToSqlColumnType.STRING, null);
  80 + this(columnName, columnName, CassandraToSqlColumnType.STRING, null, false);
76 81 }
77 82
78 83 public CassandraToSqlColumn(String columnName, CassandraToSqlColumnType type) {
79   - this(columnName, columnName, type, null);
  84 + this(columnName, columnName, type, null, false);
80 85 }
81 86
82 87 public CassandraToSqlColumn(String columnName, CassandraToSqlColumnType type, Class<? extends Enum> enumClass) {
83   - this(columnName, columnName, type, enumClass);
  88 + this(columnName, columnName, type, enumClass, false);
84 89 }
85 90
86 91 public CassandraToSqlColumn(String cassandraColumnName, String sqlColumnName) {
87   - this(cassandraColumnName, sqlColumnName, CassandraToSqlColumnType.STRING, null);
  92 + this(cassandraColumnName, sqlColumnName, CassandraToSqlColumnType.STRING, null, false);
88 93 }
89 94
90 95 public CassandraToSqlColumn(String cassandraColumnName, String sqlColumnName, CassandraToSqlColumnType type,
91   - Class<? extends Enum> enumClass) {
  96 + Class<? extends Enum> enumClass, boolean allowNullBoolean) {
92 97 this.cassandraColumnName = cassandraColumnName;
93 98 this.sqlColumnName = sqlColumnName;
94 99 this.type = type;
95 100 this.enumClass = enumClass;
  101 + this.allowNullBoolean = allowNullBoolean;
96 102 }
97 103
98 104 public String getColumnValue(Row row) {
99 105 if (row.isNull(index)) {
100   - if (this.type == CassandraToSqlColumnType.BOOLEAN) {
  106 + if (this.type == CassandraToSqlColumnType.BOOLEAN && !this.allowNullBoolean) {
101 107 return Boolean.toString(false);
102 108 } else {
103 109 return null;
... ...