Integrated the TableCreationQuery into the SQLTable

This commit is contained in:
mathias 2021-08-27 12:50:04 +02:00
parent 52ca4879f9
commit 3883d5f3d4
No known key found for this signature in database
GPG Key ID: 8950DF62139C852A

View File

@ -2,6 +2,9 @@ package de.gnmyt.sqltoolkit.storage;
import de.gnmyt.sqltoolkit.drivers.MySQLConnection; import de.gnmyt.sqltoolkit.drivers.MySQLConnection;
import de.gnmyt.sqltoolkit.manager.*; import de.gnmyt.sqltoolkit.manager.*;
import de.gnmyt.sqltoolkit.queries.TableCreationQuery;
import de.gnmyt.sqltoolkit.querybuilder.QueryParameter;
import de.gnmyt.sqltoolkit.querybuilder.SQLQuery;
import de.gnmyt.sqltoolkit.types.SQLType; import de.gnmyt.sqltoolkit.types.SQLType;
import de.gnmyt.sqltoolkit.types.TableField; import de.gnmyt.sqltoolkit.types.TableField;
@ -164,27 +167,22 @@ public abstract class SQLTable {
} }
/** /**
* Generates the table sql * Creates the table
*
* @return the table sql
*/ */
public String generateSQL() { public void create() {
tableFields = new ArrayList<>(); tableFields = new ArrayList<>();
StringBuilder query = new StringBuilder();
// Add table fields // Add table fields
integer("id", 255, false, "", "AUTO_INCREMENT"); integer("id", 255, false, "", "AUTO_INCREMENT");
tableFields(); tableFields();
// Create the query SQLQuery query = connection.createQuery(TableCreationQuery.class)
query.append("CREATE TABLE IF NOT EXISTS ").append(tableName()).append("("); .addParameter(QueryParameter.TABLE_NAME, tableName())
for (TableField tableField : tableFields) .addParameter(QueryParameter.PRIMARY_KEY, "id")
query.append(tableField.generateSQLRow()).append(", "); .addParameter(QueryParameter.FIELD_LIST, tableFields)
query.append("PRIMARY KEY (id)"); .build();
query.append(") ENGINE=InnoDB;");
// Return the query connection.update(query);
return query.toString();
} }
} }