attaching schema nodes progress

This commit is contained in:
Sascha Kühl
2025-07-14 15:57:14 +02:00
parent 1b2847696d
commit 0d93b9b1ed
19 changed files with 182 additions and 91 deletions
+7 -2
View File
@@ -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());
+1 -1
View File
@@ -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() + ")";
}