galchemy/schema/relation

Types

pub type ColumnPair {
  ColumnPair(local_column: String, related_column: String)
}

Constructors

  • ColumnPair(local_column: String, related_column: String)
pub type Relation {
  Relation(
    name: String,
    foreign_key_name: String,
    kind: RelationKind,
    related_table: TableRef,
    column_pairs: List(ColumnPair),
  )
}

Constructors

pub type RelationKind {
  BelongsTo
  HasMany
}

Constructors

  • BelongsTo
  • HasMany
pub type TableRef {
  TableRef(schema: String, name: String)
}

Constructors

  • TableRef(schema: String, name: String)
pub type TableRelations {
  TableRelations(table: TableRef, relations: List(Relation))
}

Constructors

Values

pub fn belongs_to(
  name: String,
  foreign_key_name: String,
  related_table: TableRef,
  column_pairs: List(ColumnPair),
) -> Relation
pub fn for_table(
  snapshot: model.SchemaSnapshot,
  schema_name: String,
  table_name: String,
) -> option.Option(TableRelations)
pub fn has_many(
  name: String,
  foreign_key_name: String,
  related_table: TableRef,
  column_pairs: List(ColumnPair),
) -> Relation
pub fn infer(
  snapshot: model.SchemaSnapshot,
) -> List(TableRelations)
pub fn pair(
  local_column: String,
  related_column: String,
) -> ColumnPair
pub fn table_ref(schema: String, name: String) -> TableRef
Search Document