Package

com.outworkers.phantom.migrations

diffs

Permalink

package diffs

Visibility
  1. Public
  2. All

Type Members

  1. case class ColumnDiff(name: String, cassandraType: String, isOptional: Boolean, isPrimary: Boolean, isSecondary: Boolean, isStatic: Boolean) extends Product with Serializable

    Permalink
  2. trait Comparison extends (ColumnDiff, ColumnDiff) ⇒ Boolean

    Permalink
  3. case class DatabaseDiff[DB <: Database[DB], DBO <: Database[DBO]](diffs: QueryCollection[Seq]) extends Product with Serializable

    Permalink
  4. sealed case class Diff(columns: List[ColumnDiff], sourceTable: String, comparedTable: String, config: DiffConfig) extends Product with Serializable

    Permalink
  5. sealed case class DiffConfig(allowNonOptional: Boolean, allowSecondaryOverwrites: Boolean, allowPrimaryOverwrites: Boolean = true, allowSecondaryIndexOverwrites: Boolean = true, allowMaterializedViewOverwrites: Boolean = true, allowUdtOverwrites: Boolean = true, enableCaseSensitiveAutoQuotes: Boolean = false) extends Product with Serializable

    Permalink
  6. trait DiffConflict extends AnyRef

    Permalink
  7. trait DiffRule extends (Diff) ⇒ MigrationResult[List[ColumnDiff]]

    Permalink

    The implementation of a migration diffing rule.

    The implementation of a migration diffing rule. We use this simple function 1 API to navigate over a diff between two tables, which exposes any columns that have been added or removed, or changed.

    We can then implement any logic on top of the diff between the tables, and we can plug in the set of diffs and whichever stage of the migration pipeline, meaning end users of the API are completely de-coupled from a static set of diffs.

    They can instead choose, mix and override the rules used for the final dif as they see fit.

  8. case class InvalidAddition(column: String, cassandraType: String, reason: String) extends DiffConflict with Product with Serializable

    Permalink
  9. case class TypeMismatch(column: String, phantomType: String, cassandraType: String) extends DiffConflict with Product with Serializable

    Permalink

Value Members

  1. object Comparison

    Permalink
  2. object Diff extends Serializable

    Permalink
  3. object DiffRule

    Permalink

Ungrouped