added a new TZ00 string constant

- used everywhere
 - updated docs
This commit is contained in:
silverqx
2022-05-18 09:57:06 +02:00
parent 488037b33a
commit 54e3613a98
8 changed files with 18 additions and 51 deletions

View File

@@ -132,6 +132,8 @@ To paste a source code correctly in `vim`, press <kbd>Shift</kbd> + <kbd>p</kbd>
And paste the following code.
<a id='string-constants-example' />
#include <orm/db.hpp>
#include <tom/application.hpp>
@@ -186,7 +188,7 @@ And paste the following code.
{password_, qEnvironmentVariable("DB_MYSQL_PASSWORD", EMPTY)},
{charset_, qEnvironmentVariable("DB_MYSQL_CHARSET", UTF8MB4)},
{collation_, qEnvironmentVariable("DB_MYSQL_COLLATION", UTF8MB40900aici)},
{timezone_, SYSTEM},
{timezone_, TZ00},
{prefix_, EMPTY},
{prefix_indexes, true},
{strict_, true},

View File

@@ -58,6 +58,10 @@ You can also configure [Transaction Isolation Levels](https://dev.mysql.com/doc/
A database connection is resolved lazily, which means that the connection configuration is only saved after the `DB::create` method call. The connection will be resolved after you run some query or you can create it using the `DB::connection` method.
:::
:::tip
You can also use predefined string constants to avoid unnecessary `QString` instantiations, as used in the `tom` migrations [example](building-migrations.mdx#string-constants-example).
:::
#### SQLite Configuration
SQLite databases are contained within a single file on your filesystem. You can create a new SQLite database using the `touch` command in your terminal: `touch database.sqlite3`. After the database has been created, you may configure SQLite database connection:

View File

@@ -9,30 +9,6 @@
#include "seeders/databaseseeder.hpp"
using Orm::Constants::EMPTY;
using Orm::Constants::H127001;
using Orm::Constants::P3306;
using Orm::Constants::QMYSQL;
using Orm::Constants::SYSTEM;
using Orm::Constants::UTF8MB4;
using Orm::Constants::UTF8MB40900aici;
using Orm::Constants::charset_;
using Orm::Constants::collation_;
using Orm::Constants::database_;
using Orm::Constants::driver_;
using Orm::Constants::engine_;
using Orm::Constants::host_;
using Orm::Constants::InnoDB;
using Orm::Constants::isolation_level;
using Orm::Constants::options_;
using Orm::Constants::password_;
using Orm::Constants::port_;
using Orm::Constants::prefix_;
using Orm::Constants::prefix_indexes;
using Orm::Constants::strict_;
using Orm::Constants::timezone_;
using Orm::Constants::username_;
using Orm::DatabaseManager;
using Orm::DB;
@@ -87,6 +63,8 @@ int main(int argc, char *argv[])
std::shared_ptr<DatabaseManager> setupManager()
{
using namespace Orm::Constants; // NOLINT(google-build-using-namespace)
// Ownership of the shared_ptr()
return DB::create({
{driver_, QMYSQL},
@@ -97,7 +75,7 @@ std::shared_ptr<DatabaseManager> setupManager()
{password_, qEnvironmentVariable("DB_MYSQL_PASSWORD", EMPTY)},
{charset_, qEnvironmentVariable("DB_MYSQL_CHARSET", UTF8MB4)},
{collation_, qEnvironmentVariable("DB_MYSQL_COLLATION", UTF8MB40900aici)},
{timezone_, SYSTEM},
{timezone_, TZ00},
{prefix_, EMPTY},
{prefix_indexes, true},
{strict_, true},

View File

@@ -88,6 +88,7 @@ namespace Orm::Constants
SHAREDLIB_EXPORT extern const QString UTC;
SHAREDLIB_EXPORT extern const QString LOCAL;
SHAREDLIB_EXPORT extern const QString SYSTEM;
SHAREDLIB_EXPORT extern const QString TZ00;
SHAREDLIB_EXPORT extern const QString PUBLIC;
SHAREDLIB_EXPORT extern const QString UTF8;
SHAREDLIB_EXPORT extern const QString UTF8MB4;

View File

@@ -92,6 +92,7 @@ namespace Orm::Constants
inline const QString UTC = QStringLiteral("UTC");
inline const QString LOCAL = QStringLiteral("LOCAL");
inline const QString SYSTEM = QStringLiteral("SYSTEM");
inline const QString TZ00 = QStringLiteral("+00:00");
inline const QString PUBLIC = QStringLiteral("public");
inline const QString UTF8 = QStringLiteral("utf8");
inline const QString UTF8MB4 = QStringLiteral("utf8mb4");

View File

@@ -77,6 +77,7 @@ namespace Orm::Constants
const QString UTC = QStringLiteral("UTC");
const QString LOCAL = QStringLiteral("LOCAL");
const QString SYSTEM = QStringLiteral("SYSTEM");
const QString TZ00 = QStringLiteral("+00:00");
const QString PUBLIC = QStringLiteral("public");
const QString UTF8 = QStringLiteral("utf8");
const QString UTF8MB4 = QStringLiteral("utf8mb4");

View File

@@ -33,6 +33,7 @@ using Orm::Constants::strict_;
using Orm::Constants::timezone_;
using Orm::Constants::username_;
using Orm::Constants::EMPTY;
using Orm::Constants::TZ00;
using Orm::Constants::UTC;
using Orm::Constants::UTF8;
using Orm::Constants::UTF8MB4;
@@ -165,7 +166,7 @@ Databases::mysqlConfiguration()
{charset_, qEnvironmentVariable("DB_MYSQL_CHARSET", UTF8MB4)},
{collation_, qEnvironmentVariable("DB_MYSQL_COLLATION", UTF8MB40900aici)},
// Very important for tests
{timezone_, QStringLiteral("+00:00")},
{timezone_, TZ00},
{prefix_, EMPTY},
{prefix_indexes, true},
{strict_, true},

View File

@@ -18,29 +18,6 @@
#include "seeders/databaseseeder.hpp"
using Orm::Constants::EMPTY;
using Orm::Constants::H127001;
using Orm::Constants::P3306;
using Orm::Constants::QMYSQL;
using Orm::Constants::UTF8MB4;
using Orm::Constants::UTF8MB40900aici;
using Orm::Constants::charset_;
using Orm::Constants::collation_;
using Orm::Constants::database_;
using Orm::Constants::driver_;
using Orm::Constants::engine_;
using Orm::Constants::host_;
using Orm::Constants::InnoDB;
using Orm::Constants::isolation_level;
using Orm::Constants::options_;
using Orm::Constants::password_;
using Orm::Constants::port_;
using Orm::Constants::prefix_;
using Orm::Constants::prefix_indexes;
using Orm::Constants::strict_;
using Orm::Constants::timezone_;
using Orm::Constants::username_;
using Orm::DatabaseManager;
using Orm::DB;
@@ -87,6 +64,8 @@ int main(int argc, char *argv[])
std::shared_ptr<DatabaseManager> setupManager()
{
using namespace Orm::Constants; // NOLINT(google-build-using-namespace)
// Ownership of the shared_ptr()
return DB::create({
{driver_, QMYSQL},
@@ -97,7 +76,7 @@ std::shared_ptr<DatabaseManager> setupManager()
{password_, qEnvironmentVariable("DB_MYSQL_PASSWORD", EMPTY)},
{charset_, qEnvironmentVariable("DB_MYSQL_CHARSET", UTF8MB4)},
{collation_, qEnvironmentVariable("DB_MYSQL_COLLATION", UTF8MB40900aici)},
{timezone_, QStringLiteral("+00:00")},
{timezone_, TZ00},
{prefix_, EMPTY},
{prefix_indexes, true},
{strict_, true},