Skip to content

Commit c80dee1

Browse files
committed
SQLiteColumnQueryBuilder
1 parent 7d698b0 commit c80dee1

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

core/src/main/java/me/zort/sqllib/model/column/SQLiteColumnQueryBuilder.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,16 @@ public class SQLiteColumnQueryBuilder extends InnoColumnQueryBuilder {
1212
public String buildActionQuery(ColumnAction action, String table, ColumnDefinition from, ColumnDefinition to) {
1313
if (action.equals(ColumnAction.MODIFY)) {
1414
TableSchema schema = connection.getSchemaBuilder(table).buildTableSchema();
15+
String[] newDefinitions = new String[schema.size()];
16+
for (int i = 0; i < schema.size(); i++) {
17+
if (schema.getDefinitionName(i).equals(from.getName())) {
18+
newDefinitions[i] = from.getName() + " " + from.getType();
19+
} else {
20+
newDefinitions[i] = schema.getDefinition(i);
21+
}
22+
}
1523
String queries = "ALTER TABLE " + table + " RENAME TO " + table + "_old;";
16-
queries += "CREATE TABLE " + table + "(" + String.join(", ", schema.getDefinitions()) + ");";
24+
queries += "CREATE TABLE " + table + "(" + String.join(", ", newDefinitions) + ");";
1725
queries += "INSERT INTO " + table + "(" + String.join(", ", schema.getDefinitionNames()) + ") SELECT " + String.join(", ", schema.getDefinitionNames()) + " FROM " + table + "_old;";
1826
queries += "DROP TABLE " + table + "_old;";
1927
return queries;

0 commit comments

Comments
 (0)