4#ifndef _Stroika_Foundation_Database_SQL_ORM_Versioning_h_
5#define _Stroika_Foundation_Database_SQL_ORM_Versioning_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
34namespace Stroika::Foundation::Database::SQL::ORM {
36 using namespace Containers;
37 using namespace DataExchange;
41 struct TableProvisioner {
43 function<void (SQL::Connection::Ptr, optional<Common::Version> existingVersion, Common::Version targetVersion)> fProvisioner;
50 void ProvisionForVersion (SQL::Connection::Ptr conn, Common::Version targetDBVersion,
const Traversal::Iterable<Schema::Table>& tables);
51 void ProvisionForVersion (SQL::Connection::Ptr conn, Common::Version targetDBVersion,
const Traversal::Iterable<TableProvisioner>& tables);
60#include "Versioning.inl"
void ProvisionForVersion(SQL::Connection::Ptr conn, Common::Version targetDBVersion, const Traversal::Iterable< Schema::Table > &tables)