liarsdice::database::Migration class

Represents a database migration.

Derived classes

class FileMigration
Load migration from file.

Public types

using MigrationFunc = std::function<void(DatabaseManager&)>

Constructors, destructors, conversion operators

Migration(int version, const std::string& description, const std::string& up_sql, const std::string& down_sql = "")
Migration(int version, const std::string& description, MigrationFunc up_func, MigrationFunc down_func = nullptr)

Public functions

auto get_version() const -> const SchemaVersion&
Get the schema version info.
void apply(DatabaseManager& db)
Apply the migration (upgrade)
void rollback(DatabaseManager& db)
Rollback the migration (downgrade)
auto is_reversible() const -> bool
Check if this migration can be rolled back.
auto get_up_sql() const -> const std::string&
Get the SQL for upgrade.
auto get_down_sql() const -> const std::string&
Get the SQL for downgrade.