attaching schema nodes progress
This commit is contained in:
@@ -18,10 +18,15 @@ session::session(sql::connection_pool<sql::connection> &pool)
|
||||
, schema_(std::make_unique<object::schema>(dialect_.default_schema_name())){}
|
||||
|
||||
utils::result<void, utils::error> session::create_schema() const {
|
||||
std::vector<std::shared_ptr<object::schema_node>> relations_nodes;
|
||||
auto c = pool_.acquire();
|
||||
for (const auto &t : *schema_) {
|
||||
for (const auto &node : *schema_) {
|
||||
// if (!node->info().has_primary_key()) {
|
||||
// relations_nodes.push_back(node);
|
||||
// continue;
|
||||
// }
|
||||
auto result = query::query::create()
|
||||
.table(t.name(), t.info().definition().columns())
|
||||
.table(node->name(), node->info().definition().columns())
|
||||
.execute(*c);
|
||||
if ( !result ) {
|
||||
return utils::failure(result.err());
|
||||
|
||||
@@ -276,7 +276,7 @@ void query_compiler::visit(internal::query_create_table_part &create_table_part)
|
||||
for (const auto &[column, reference_column]: context.foreign_contexts) {
|
||||
result += ", CONSTRAINT FK_" + create_table_part.table().name;
|
||||
result += "_" + column;
|
||||
result += " FOREIGN KEY (" + column + ")";
|
||||
result += " FOREIGN KEY (" + dialect_->prepare_identifier_string(column) + ")";
|
||||
result += " REFERENCES " + reference_column->table_name() + "(" + reference_column->name() + ")";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user