diff --git a/include/matador/query/schema.hpp b/include/matador/query/schema.hpp index bb3c194..c17c038 100644 --- a/include/matador/query/schema.hpp +++ b/include/matador/query/schema.hpp @@ -114,8 +114,8 @@ public: void dump(std::ostream &os) const; private: - [[nodiscard]] sql::query_context build_add_constraint_context(const object::repository_node& node, const object::restriction& cons, const sql::connection &conn) const; - [[nodiscard]] sql::query_context build_drop_constraint_context(const object::repository_node& node, const object::restriction& cons, const sql::connection &conn) const; + [[nodiscard]] static sql::query_context build_add_constraint_context(const object::repository_node& node, const object::restriction& cons, const sql::connection &conn) ; + [[nodiscard]] static sql::query_context build_drop_constraint_context(const object::repository_node& node, const object::restriction& cons, const sql::connection &conn) ; void insert_table(const std::type_index& ti, const object::repository_node &node); diff --git a/source/core/object/basic_repository.cpp b/source/core/object/basic_repository.cpp index 08bc89a..1fa78ef 100644 --- a/source/core/object/basic_repository.cpp +++ b/source/core/object/basic_repository.cpp @@ -101,6 +101,7 @@ utils::result basic_repository::primary_key_attribute( } void basic_repository::dump(std::ostream &os) const { + os << name_ << std::endl; for (const auto &node : *this) { dump(os, node); } @@ -108,15 +109,16 @@ void basic_repository::dump(std::ostream &os) const { } void basic_repository::dump( std::ostream& os, const repository_node& node ) { - os << "node [" << node.name() << "] (" << node.type_index().name() << ")\n"; + os << "node [" << node.name() << "]\n"; for (auto it = node.info().endpoint_begin(); it != node.info().endpoint_end(); ++it) { os << " " << node.name() << "::" << it->second->field_name() << " (" << it->second->type_name() << ")"; if (it->second->foreign_endpoint()) { os << " <---> " << it->second->node().name() << "::" << it->second->foreign_endpoint()->field_name() << " (" << it->second->foreign_endpoint()->type_name() << ")\n"; } else { - os << " -> " << it->second->node().name() << " (type: " << it->second->node().type_index().name() << ")\n"; + os << " -> " << it->second->node().name() << " (type: " << it->second->node().name() << ")\n"; } } + os << "\n"; } utils::result basic_repository::attach_node(repository_node *node, const std::string &parent) { diff --git a/source/orm/query/schema.cpp b/source/orm/query/schema.cpp index 22ee337..3336e37 100644 --- a/source/orm/query/schema.cpp +++ b/source/orm/query/schema.cpp @@ -219,15 +219,12 @@ schema::const_iterator schema::find(const std::string &name) const { } void schema::dump(std::ostream &os) const { - os << repo_.name() << std::endl; - for (const auto &node: repo_) { - os << " " << node.name() << std::endl; - } + repo_.dump(os); } sql::query_context schema::build_add_constraint_context(const object::repository_node &node, const object::restriction &cons, - const sql::connection &conn) const { + const sql::connection &conn) { if (cons.is_foreign_key_constraint()) { return query::query::alter() .table(node.name()) @@ -245,7 +242,7 @@ sql::query_context schema::build_add_constraint_context(const object::repository sql::query_context schema::build_drop_constraint_context(const object::repository_node &node, const object::restriction &cons, - const sql::connection &conn) const { + const sql::connection &conn) { return query::query::alter() .table(node.name()) .drop_constraint(cons)