33 lines
825 B
C++
33 lines
825 B
C++
#include <catch2/catch_test_macros.hpp>
|
|
|
|
#include <matador/sql/connection.hpp>
|
|
#include <matador/sql/entity_query_builder.hpp>
|
|
|
|
#include "models/author.hpp"
|
|
#include "models/book.hpp"
|
|
|
|
struct schiff {
|
|
std::string id;
|
|
|
|
template<typename Operator>
|
|
void process(Operator &op)
|
|
{
|
|
namespace field = matador::utils::access;
|
|
field::primary_key(op, "id", id, 255);
|
|
}
|
|
};
|
|
|
|
using namespace matador::sql;
|
|
|
|
TEST_CASE("Create sql query for entity", "[query][entity][builder]") {
|
|
connection noop("noop://noop.db");
|
|
schema scm("noop");
|
|
scm.attach<matador::test::author>("authors");
|
|
scm.attach<matador::test::book>("books");
|
|
|
|
entity_query_builder eqb(17);
|
|
|
|
auto context = eqb.build<matador::test::book>(noop, scm);
|
|
std::cout << "SQL: " << context.value().sql << "\n";
|
|
context = eqb.build<schiff>(noop, scm);
|
|
} |