|
- #pragma once
-
- #include "driver_impl.h"
- #include "../driver.h"
-
- namespace cpphibernate {
- namespace mariadb {
-
- /* driver_impl_t */
-
- template<typename T_schema>
- driver_impl_t::driver_impl_t(driver_t& p_owner, T_schema&& p_schema)
- : owner (p_owner)
- , schema(make_schema(std::forward<T_schema>(p_schema)))
- { }
-
- void driver_impl_t::init(bool recreate) const
- {
- auto * connection = owner.connection();
- if (!connection)
- throw exception("Cpphibernate mariadb driver is not connected to any database!");
- ::cppmariadb::transaction_lock trans(*connection);
- schema->init(init_context(*schema, *connection, recreate));
- trans.commit();
- }
-
- } }
|