forked from mirrors/gotosocial
ac6ed3d939
* upstep bun and sqlite versions * allow specific columns to be updated in the db * only update necessary columns for user * bit tidier * only update necessary fields of media_attachment * only update relevant instance fields * update tests * update only specific account columns * use bool pointers on gtsmodels includes attachment, status, account, user * update columns more selectively * test all default fields on new account insert * updating remaining bools on gtsmodels * initialize pointer fields when extracting AP emoji * copy bools properly * add copyBoolPtr convenience function + test it * initialize false bool ptrs a bit more neatly
35 lines
535 B
Go
35 lines
535 B
Go
package schema
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
const (
|
|
InvalidRelation = iota
|
|
HasOneRelation
|
|
BelongsToRelation
|
|
HasManyRelation
|
|
ManyToManyRelation
|
|
)
|
|
|
|
type Relation struct {
|
|
Type int
|
|
Field *Field
|
|
JoinTable *Table
|
|
BaseFields []*Field
|
|
JoinFields []*Field
|
|
OnUpdate string
|
|
OnDelete string
|
|
Condition []string
|
|
|
|
PolymorphicField *Field
|
|
PolymorphicValue string
|
|
|
|
M2MTable *Table
|
|
M2MBaseFields []*Field
|
|
M2MJoinFields []*Field
|
|
}
|
|
|
|
func (r *Relation) String() string {
|
|
return fmt.Sprintf("relation=%s", r.Field.GoName)
|
|
}
|