query builder progress
This commit is contained in:
@@ -315,7 +315,7 @@ void query_compiler::visit(internal::query_create_table_part &part)
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_create_table_columns_part& part) {
|
||||
std::string result = "(";
|
||||
std::string result;
|
||||
|
||||
if (part.columns().size() < 2) {
|
||||
for (const auto &col: part.columns()) {
|
||||
@@ -407,16 +407,24 @@ std::string build_create_column(const object::attribute &col, const sql::dialect
|
||||
std::string build_constraint(const class object::constraint& cons, const sql::dialect& d) {
|
||||
std::string result;
|
||||
if (!cons.name().empty()) {
|
||||
result.append(d.constraint()).append(" ").append(d.prepare_identifier_string(cons.name())).append(" ");
|
||||
result.append(d.constraint()).append(" ").append(cons.name()).append(" ");
|
||||
}
|
||||
if (cons.is_primary_key_constraint()) {
|
||||
result.append(d.primary_key());
|
||||
result.append(d.primary_key()).append(" (").append(cons.column_name()).append(")");
|
||||
} else if (cons.is_foreign_key_constraint()) {
|
||||
result.append(d.foreign_key());
|
||||
result
|
||||
.append(d.foreign_key())
|
||||
.append(" (")
|
||||
.append(cons.column_name())
|
||||
.append(") ")
|
||||
.append(d.references()).append(" ")
|
||||
.append(cons.ref_table_name())
|
||||
.append(" (")
|
||||
.append(cons.ref_column_name())
|
||||
.append(")");
|
||||
} else {
|
||||
// handle error
|
||||
}
|
||||
result.append("(").append(cons.attribute()->full_name()).append(")");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user