Migration class
#include <liarsdice/database/migration.hpp>
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.