schema progress

This commit is contained in:
Sascha Kühl 2025-11-13 16:27:58 +01:00
parent 0d08ad4179
commit d6de8da3c8
2 changed files with 13 additions and 12 deletions

View File

@ -87,18 +87,19 @@ matador::utils::result<void, matador::utils::error> matador::orm::schema::drop()
drop_sql_commands.push_back(ctx.sql);
// determine constraints and drop them
for (auto it = node->info().endpoint_begin(); it != node->info().endpoint_end(); ++it) {
const auto ctx = query::query::alter()
.table( "" )
.add_constraint( it->second->node().name() )
.foreign_key( "" )
.references( "" ).compile(*c);
const auto& endpoint = *(it->second);
if (endpoint.type() == object::relation_type::BELONGS_TO) {
continue;
}
const auto drop_fk_ctx = query::query::alter()
.table( endpoint.node().name() )
.drop_constraint( "FK_" + endpoint.node().name() + "_" + endpoint.foreign_endpoint()->field_name() )
.compile(*c);
std::cout << drop_fk_ctx.sql << std::endl;
if (auto result = c->execute(drop_fk_ctx.sql); !result) {
return utils::failure(result.err());
}
}
// for ( const auto& [sql, command] : ctx.additional_commands ) {
// if (auto result = c->execute(ctx.sql); !result) {
// return utils::failure(result.err());
// }
// }
}
// execute additional commands (e.g. ALTER TABLE ADD FK)

View File

@ -12,7 +12,7 @@
using namespace matador;
using namespace matador::test;
TEST_CASE_METHOD(SchemaFixture, "Test schema", "[schema]") {
TEST_CASE_METHOD(SchemaFixture, "Test schema one-two-many", "[schema]") {
using namespace matador::test;
matador::orm::schema repo(pool/*, "NoopSchema"*/);