modl icon indicating copy to clipboard operation
modl copied to clipboard

Set constraints on tables

Open aybabtme opened this issue 10 years ago • 0 comments

It would be great if we could set contraints on tables. For instance, something like this:

type Program struct {
    ID          string    `db:"program_id"`
    // ... stuff
}

type Exec struct {
    ID     string `db:"exec_id"`
    ProgramID string `db:"program_id"`
}

func (r Exec) registerTable(dbMap *modl.DbMap) {
    execTbl:= dbMap.AddTable(r, "exec").SetKeys(false, "exec_id")
    execTbl.SetForeignKey("program_id", Program{}.ID). // what i'd like
        OnDelete(modl.Cascade).  // going the extra mile
        OnUpdate(modl.Restrict)
}

aybabtme avatar Apr 25 '14 22:04 aybabtme