#pragma once #include "key_properties.h" namespace cpphibernate { namespace mariadb { /* key_properties */ template<> struct key_properties { using key_type = uuid; static bool is_default(const key_type& key) { return key == key_type(); } static constexpr bool is_auto_generated() { return false; } static constexpr const char * create_table_argument() { return nullptr; } static constexpr const char * create_key_query() { return "SELECT Uuid()"; } }; template struct key_properties< T_key, mp::enable_if_t>>> { using key_type = mp::decay_t; static bool is_default(const key_type& key) { return key == key_type(); } static constexpr bool is_auto_generated() { return true; } static constexpr const char * create_table_argument() { return "AUTO_INCREMENT"; } static constexpr const char * create_key_query() { return nullptr; } }; } }