ImagingTools Core SDK
IMigrationController.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IPolymorphic.h>
7#include <istd/TRange.h>
8
9
10namespace imtdb
11{
12
13
76class IMigrationController: virtual public istd::IPolymorphic
77{
78public:
102 virtual istd::CIntRange GetMigrationRange() const = 0;
103
147 virtual bool DoMigration(int& resultRevision, const istd::CIntRange& subRange = istd::CIntRange()) const = 0;
148};
149
150
151} // namespace imtdb
152
153
Controls database schema versioning and migration execution.
virtual istd::CIntRange GetMigrationRange() const =0
Gets the range of database versions for migration.
virtual bool DoMigration(int &resultRevision, const istd::CIntRange &subRange=istd::CIntRange()) const =0
Executes database migrations.
Database Abstraction Layer (ORM Framework) for ImtCore applications.