This interface describes minimum required functionality from migration key description.
You can find more information in comments below.
class IDbMigrationKey :public virtual IReleasable
{
public:
enum class Type // Key type
{
Index,
Primary,
Unique,
Foreign
};
enum class RefOption // Foreign key behaviour actions
{
None,
NoAction,
Restrict,
Cascade,
SetNull,
SetDefault
};
protected:
Type m_eType;
String m_sSymbol;
String m_sName;
StringArray m_aParts;
bool m_bFullText;
String m_sRefTable;
StringArray m_aRefParts;
RefOption m_eOnDelete;
RefOption m_eOnUpdate;
String m_sComment;
public:
// Read-only references to the protected members
Type const &eType;
String const &sSymbol;
String const &sName;
StringArray const &aParts;
bool const &bFullText;
String const &sRefTable;
StringArray const &aRefParts;
RefOption const &eOnDelete;
RefOption const &eOnUpdate;
String const &sComment;
virtual IDbMigrationKey *Comment(const String &comment) = 0;
};
Namespace: | nitisa |
Include: | Nitisa/Interfaces/IDbMigrationKey.h |