mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-16 12:51:13 +08:00
354 lines
10 KiB
C++
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/table.h>
|
|
#include <sqlpp11/data_types.h>
|
|
#include <sqlpp11/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
|