Content


NTL
Core
IDbMigrationKey

IDbMigrationKey


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