adjust work project to the current codebase
This commit is contained in:
+30
-37
@@ -21,18 +21,10 @@
|
||||
|
||||
#include "matador/sql/connection.hpp"
|
||||
|
||||
#include "matador/query/schema.hpp"
|
||||
|
||||
#include "matador/orm/session.hpp"
|
||||
|
||||
template <> struct matador::utils::data_type_traits<work::core::timestamp, void> {
|
||||
static basic_type type(std::size_t /*size*/) { return basic_type::UInt64; }
|
||||
static void read_value(attribute_reader &/*reader*/, const char * /*id*/, size_t /*index*/, nullptr_t &/*value*/) {
|
||||
|
||||
}
|
||||
static void bind_value(attribute_writer &/*binder*/, size_t /*index*/, nullptr_t &/*value*/) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
template <> struct matador::utils::data_type_traits<work::core::UserInfo, void> {
|
||||
static basic_type type(std::size_t /*size*/) { return basic_type::UInt64; }
|
||||
static void read_value(attribute_reader &/*reader*/, const char * /*id*/, size_t /*index*/, nullptr_t &/*value*/) {
|
||||
@@ -70,46 +62,47 @@ using namespace work::models;
|
||||
// payload.is_polymorphic_type<jobs::IdPayload>();
|
||||
|
||||
int main() {
|
||||
// logger::default_min_log_level(logger::log_level::LVL_DEBUG);
|
||||
// logger::add_log_sink(logger::create_stdout_sink());
|
||||
logger::default_min_log_level(logger::log_level::LVL_DEBUG);
|
||||
logger::add_log_sink(logger::create_stdout_sink());
|
||||
|
||||
// sql::connection_pool<sql::connection> pool("postgres://news:news@127.0.0.1:15432/matador", 4);
|
||||
sql::connection_pool pool("postgres://test:test123!@127.0.0.1:5432/matador", 4);
|
||||
|
||||
object::repository repo("Administration");
|
||||
|
||||
auto result = repo.attach<admin::CollectionCenter>("collection_centers");
|
||||
// repo.create(pool);
|
||||
// repo.drop(pool);
|
||||
|
||||
utils::message_bus bus;
|
||||
orm::session ses({bus, pool});
|
||||
// query::schema ses({bus, pool});
|
||||
query::schema admin_schema("Administration");
|
||||
|
||||
result = ses.attach<admin::CollectionCenter>("collection_centers")
|
||||
.and_then([&ses] { return ses.attach<admin::UserDirectory>("user_directories"); })
|
||||
.and_then([&ses] { return ses.attach<admin::LdapGroupSchemaSettings>("ldap_group_schema_settings"); })
|
||||
.and_then([&ses] { return ses.attach<admin::LdapImportSettings>("ldap_import_settings"); })
|
||||
.and_then([&ses] { return ses.attach<admin::LdapUserSchemaSettings>("ldap_user_schema_settings"); })
|
||||
.and_then([&ses] { return ses.attach<admin::InternalUserDirectory, admin::UserDirectory>("internal_user_directories"); })
|
||||
.and_then([&ses] { return ses.attach<admin::LdapUserDirectory, admin::UserDirectory>("ldap_user_directories"); } )
|
||||
.and_then([&ses] { return ses.attach<admin::LoginHistory>("login_histories"); })
|
||||
.and_then([&ses] { return ses.attach<admin::Scenario>("scenarios"); })
|
||||
.and_then([&ses] { return ses.attach<admin::User>("users"); })
|
||||
.and_then([&ses] { return ses.attach<admin::UserSession>("user_sessions"); })
|
||||
.and_then([&ses] { return ses.attach<jobs::Job>("jobs"); })
|
||||
.and_then([&ses] { return ses.attach<jobs::Payload>("payloads"); })
|
||||
.and_then([&ses] { return ses.attach<jobs::IdPayload, jobs::Payload>("id_list_payloads"); })
|
||||
.and_then([&ses] { return ses.attach<jobs::IdListPayload, jobs::Payload>("id_payloads"); })
|
||||
.and_then([&ses] { return ses.attach<jobs::Task>("tasks"); })
|
||||
auto result = admin_schema.attach<admin::CollectionCenter>("collection_centers")
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::UserDirectory>("user_directories"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::LdapGroupSchemaSettings>("ldap_group_schema_settings"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::LdapImportSettings>("ldap_import_settings"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::LdapUserSchemaSettings>("ldap_user_schema_settings"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::InternalUserDirectory, admin::UserDirectory>("internal_user_directories"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::LdapUserDirectory, admin::UserDirectory>("ldap_user_directories"); } )
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::LoginHistory>("login_histories"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::Scenario>("scenarios"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::User>("users"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<admin::UserSession>("user_sessions"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<jobs::Job>("jobs"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<jobs::Payload>("payloads"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<jobs::IdPayload, jobs::Payload>("id_list_payloads"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<jobs::IdListPayload, jobs::Payload>("id_payloads"); })
|
||||
.and_then([&admin_schema] { return admin_schema.attach<jobs::Task>("tasks"); })
|
||||
;
|
||||
ses.dump_schema(std::cout);
|
||||
admin_schema.dump(std::cout);
|
||||
|
||||
if (!result) {
|
||||
std::cout << "error: " << result.err().message() << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
result = ses.create_schema();
|
||||
const auto conn = pool.acquire();
|
||||
result = admin_schema.create(*conn);
|
||||
if (!result) {
|
||||
std::cout << "error: " << result.err() << std::endl;
|
||||
return 0;
|
||||
}
|
||||
result = admin_schema.drop(*conn);
|
||||
if (!result) {
|
||||
std::cout << "error: " << result.err() << std::endl;
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user