0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 12:51:13 +08:00
sqlpp11/tests/mysql/usage/Tables.h
2024-07-30 07:32:30 +02:00

354 lines
10 KiB
C++

#pragma once
// generated by ./scripts/ddl2cpp -auto-id -with-table-creation-helper tests/mysql/usage/Tables.sql tests/mysql/usage/Tables test
#include <sqlpp11/core/basic/table.h>
#include <sqlpp11/data_types.h>
#include <sqlpp11/core/name/char_sequence.h>
namespace test
{
template<typename Db>
void createTabSample(Db& db)
{
db.execute(R"+++(DROP TABLE IF EXISTS tab_sample)+++");
db.execute(R"+++(CREATE TABLE tab_sample (
id bigint(20) AUTO_INCREMENT PRIMARY KEY,
int_n bigint(20) DEFAULT NULL,
text_n varchar(255) DEFAULT NULL,
bool_n bool DEFAULT NULL
))+++");
}
namespace TabSample_
{
struct Id
{
struct _alias_t
{
static constexpr const char _literal[] = "id";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T id;
T& operator()() { return id; }
const T& operator()() const { return id; }
};
};
using _traits = sqlpp::make_traits<sqlpp::integer, sqlpp::tag::must_not_insert, sqlpp::tag::must_not_update>;
};
struct IntN
{
struct _alias_t
{
static constexpr const char _literal[] = "int_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T intN;
T& operator()() { return intN; }
const T& operator()() const { return intN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::integer, sqlpp::tag::can_be_null>;
};
struct TextN
{
struct _alias_t
{
static constexpr const char _literal[] = "text_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T textN;
T& operator()() { return textN; }
const T& operator()() const { return textN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::text, sqlpp::tag::can_be_null>;
};
struct BoolN
{
struct _alias_t
{
static constexpr const char _literal[] = "bool_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T boolN;
T& operator()() { return boolN; }
const T& operator()() const { return boolN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::boolean, sqlpp::tag::can_be_null>;
};
} // namespace TabSample_
struct TabSample: sqlpp::table_t<TabSample,
TabSample_::Id,
TabSample_::IntN,
TabSample_::TextN,
TabSample_::BoolN>
{
struct _alias_t
{
static constexpr const char _literal[] = "tab_sample";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T tabSample;
T& operator()() { return tabSample; }
const T& operator()() const { return tabSample; }
};
};
};
template<typename Db>
void createTabDateTime(Db& db)
{
db.execute(R"+++(DROP TABLE IF EXISTS tab_date_time)+++");
db.execute(R"+++(CREATE TABLE tab_date_time (
id bigint(20) AUTO_INCREMENT PRIMARY KEY,
day_point_n date,
time_point_n datetime(3),
date_time_point_n_d datetime DEFAULT CURRENT_TIMESTAMP,
time_of_day_n time(3)
))+++");
}
namespace TabDateTime_
{
struct Id
{
struct _alias_t
{
static constexpr const char _literal[] = "id";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T id;
T& operator()() { return id; }
const T& operator()() const { return id; }
};
};
using _traits = sqlpp::make_traits<sqlpp::integer, sqlpp::tag::must_not_insert, sqlpp::tag::must_not_update>;
};
struct DayPointN
{
struct _alias_t
{
static constexpr const char _literal[] = "day_point_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T dayPointN;
T& operator()() { return dayPointN; }
const T& operator()() const { return dayPointN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::day_point, sqlpp::tag::can_be_null>;
};
struct TimePointN
{
struct _alias_t
{
static constexpr const char _literal[] = "time_point_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T timePointN;
T& operator()() { return timePointN; }
const T& operator()() const { return timePointN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::time_point, sqlpp::tag::can_be_null>;
};
struct DateTimePointND
{
struct _alias_t
{
static constexpr const char _literal[] = "date_time_point_n_d";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T dateTimePointND;
T& operator()() { return dateTimePointND; }
const T& operator()() const { return dateTimePointND; }
};
};
using _traits = sqlpp::make_traits<sqlpp::time_point, sqlpp::tag::can_be_null>;
};
struct TimeOfDayN
{
struct _alias_t
{
static constexpr const char _literal[] = "time_of_day_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T timeOfDayN;
T& operator()() { return timeOfDayN; }
const T& operator()() const { return timeOfDayN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::time_of_day, sqlpp::tag::can_be_null>;
};
} // namespace TabDateTime_
struct TabDateTime: sqlpp::table_t<TabDateTime,
TabDateTime_::Id,
TabDateTime_::DayPointN,
TabDateTime_::TimePointN,
TabDateTime_::DateTimePointND,
TabDateTime_::TimeOfDayN>
{
struct _alias_t
{
static constexpr const char _literal[] = "tab_date_time";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T tabDateTime;
T& operator()() { return tabDateTime; }
const T& operator()() const { return tabDateTime; }
};
};
};
template<typename Db>
void createTabFoo(Db& db)
{
db.execute(R"+++(DROP TABLE IF EXISTS tab_foo)+++");
db.execute(R"+++(CREATE TABLE tab_foo (
id bigint(20) AUTO_INCREMENT PRIMARY KEY,
int_n bigint(20) DEFAULT NULL
))+++");
}
namespace TabFoo_
{
struct Id
{
struct _alias_t
{
static constexpr const char _literal[] = "id";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T id;
T& operator()() { return id; }
const T& operator()() const { return id; }
};
};
using _traits = sqlpp::make_traits<sqlpp::integer, sqlpp::tag::must_not_insert, sqlpp::tag::must_not_update>;
};
struct IntN
{
struct _alias_t
{
static constexpr const char _literal[] = "int_n";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T intN;
T& operator()() { return intN; }
const T& operator()() const { return intN; }
};
};
using _traits = sqlpp::make_traits<sqlpp::integer, sqlpp::tag::can_be_null>;
};
} // namespace TabFoo_
struct TabFoo: sqlpp::table_t<TabFoo,
TabFoo_::Id,
TabFoo_::IntN>
{
struct _alias_t
{
static constexpr const char _literal[] = "tab_foo";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T tabFoo;
T& operator()() { return tabFoo; }
const T& operator()() const { return tabFoo; }
};
};
};
template<typename Db>
void createTabJson(Db& db)
{
db.execute(R"+++(DROP TABLE IF EXISTS tab_json)+++");
db.execute(R"+++(CREATE TABLE tab_json (
id bigint(20) AUTO_INCREMENT PRIMARY KEY,
data JSON NOT NULL
))+++");
}
namespace TabJson_
{
struct Id
{
struct _alias_t
{
static constexpr const char _literal[] = "id";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T id;
T& operator()() { return id; }
const T& operator()() const { return id; }
};
};
using _traits = sqlpp::make_traits<sqlpp::integer, sqlpp::tag::must_not_insert, sqlpp::tag::must_not_update>;
};
struct Data
{
struct _alias_t
{
static constexpr const char _literal[] = "data";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T data;
T& operator()() { return data; }
const T& operator()() const { return data; }
};
};
using _traits = sqlpp::make_traits<sqlpp::text, sqlpp::tag::require_insert>;
};
} // namespace TabJson_
struct TabJson: sqlpp::table_t<TabJson,
TabJson_::Id,
TabJson_::Data>
{
struct _alias_t
{
static constexpr const char _literal[] = "tab_json";
using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;
template<typename T>
struct _member_t
{
T tabJson;
T& operator()() { return tabJson; }
const T& operator()() const { return tabJson; }
};
};
};
} // namespace test