galchemy/schema/diff

Types

pub type SchemaOperation {
  CreateTable(model.TableSchema)
  DropTable(TableRef)
  AddColumn(table: TableRef, column: model.ColumnSchema)
  DropColumn(table: TableRef, column_name: String)
  AlterColumn(
    table: TableRef,
    column_name: String,
    current: model.ColumnSchema,
    target: model.ColumnSchema,
  )
  AddPrimaryKey(table: TableRef, primary_key: model.PrimaryKey)
  DropPrimaryKey(table: TableRef, primary_key_name: String)
  AddUniqueConstraint(
    table: TableRef,
    constraint: model.UniqueConstraint,
  )
  DropUniqueConstraint(table: TableRef, constraint_name: String)
  AddForeignKey(table: TableRef, foreign_key: model.ForeignKey)
  DropForeignKey(table: TableRef, foreign_key_name: String)
  AddIndex(table: TableRef, index: model.IndexSchema)
  DropIndex(table: TableRef, index_name: String)
}

Constructors

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

Constructors

  • TableRef(schema: String, name: String)

Values

pub fn diff(
  current: model.SchemaSnapshot,
  target: model.SchemaSnapshot,
) -> List(SchemaOperation)
Search Document