galchemy/session/cascade
Types
pub type CascadeAction {
Persist
Delete
}
Constructors
-
Persist -
Delete
pub type CascadeError {
RuntimeError(runtime.TrackError)
UnknownRelation(
table: relation.TableRef,
relation_name: String,
)
}
Constructors
-
RuntimeError(runtime.TrackError) -
UnknownRelation(table: relation.TableRef, relation_name: String)
pub type CascadeNode {
CascadeNode(
entity: entity.Entity,
relations: List(CascadeRelation),
)
}
Constructors
-
CascadeNode( entity: entity.Entity, relations: List(CascadeRelation), )
pub type CascadeRelation {
CascadeRelation(name: String, children: List(CascadeNode))
}
Constructors
-
CascadeRelation(name: String, children: List(CascadeNode))
pub type CascadeRule {
CascadeRule(
relation_name: String,
actions: List(CascadeAction),
)
}
Constructors
-
CascadeRule(relation_name: String, actions: List(CascadeAction))
Values
pub fn delete(
session: runtime.Session,
root: CascadeNode,
rules: List(CascadeRule),
) -> Result(runtime.Session, CascadeError)
pub fn delete_rule(relation_name: String) -> CascadeRule
pub fn node(
next_entity: entity.Entity,
relations: List(CascadeRelation),
) -> CascadeNode
pub fn persist_rule(relation_name: String) -> CascadeRule
pub fn related(
name: String,
children: List(CascadeNode),
) -> CascadeRelation
pub fn rule(
relation_name: String,
actions: List(CascadeAction),
) -> CascadeRule
pub fn stage(
session: runtime.Session,
root: CascadeNode,
rules: List(CascadeRule),
) -> Result(runtime.Session, CascadeError)