Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Schema.h File Reference
#include "Stroika/Foundation/StroikaPreComp.h"
#include <optional>
#include "Stroika/Foundation/Containers/Collection.h"
#include "Stroika/Foundation/Containers/Mapping.h"
#include "Stroika/Foundation/DataExchange/VariantValue.h"
#include "Schema.inl"

Go to the source code of this file.

Classes

struct  Stroika::Foundation::Database::SQL::ORM::Schema::Field
 Provide enough information about a field of a c++ VariantValue object to map it to a field in the SQL database. More...
 

Namespaces

namespace  Stroika::Foundation
 

Detailed Description

Note
Code-Status: Alpha

TODO

> Use virtual class with SharedByValue<> rep popinters to actual C++ objects, so C++-side objects all GC'd, and can be constructed by mapping layer.

> Avoid circular dependencies by having 'set' relationships managed by central object (or faked trough mtohod calls on smart object), but not throgh direct pointers (just ids).

> SharedByValue<> important, for update semantics - cuz core mapping layer can cache/store orig objects whcih can be copied, and then 'updated' by save operation.

> COULD autogenerate templates from SQL schema, but also can use user-provided ones to generate a schema, or 'hook up' and dynamcially gneerate runtime error of C++ template specification of related types doesn't match that read back from DB dynamically.

Definition in file Database/SQL/ORM/Schema.h.