Package

com.snowplowanalytics.iglu.schemaddl

migrations

Permalink

package migrations

Visibility
  1. Public
  2. All

Type Members

  1. final case class FlatSchema(subschemas: SubSchemas, required: Set[SchemaPointer], parents: SubSchemas) extends Product with Serializable

    Permalink

    subschemas

    (order should not matter at this point)

    required

    keys listed in required property, whose parents also listed in required some of parent properties still can be null and thus not required

    parents

    keys that are not primitive, but can contain important information (e.g. nullability)

  2. case class Migration(vendor: String, name: String, from: Full, to: Full, diff: SchemaDiff) extends Product with Serializable

    Permalink

    SchemaDiff with its metadata

    SchemaDiff with its metadata

    vendor

    vendor of a schema being changed

    name

    name of a schema being changed

    from

    source schema version

    to

    target schema version

    diff

    actuall migration data. Ordered map of added Schema properties

  3. case class SchemaDiff(added: List[(SchemaPointer, Schema)], modified: Set[Modified], removed: List[(SchemaPointer, Schema)]) extends Product with Serializable

    Permalink

    This class represents differences between *two* Schemas.

    This class represents differences between *two* Schemas. Preserves no order. The essence of Migration

    added

    list of properties sorted by their appearance in JSON Schemas

    modified

    list of properties changed in target Schema; if some property was added in successive Schema and modified after that, it should appear in added

    removed

    set of keys removed in target Schema

  4. sealed trait SchemaList extends Product with Serializable

    Permalink

    Properly grouped and ordered list of schemas Core migration data structure- no valid migrations can be constructed without knowing it Schemas should always belong to the same vendor/name/model and sorted by schema-creation time (static order can be known only for unambiguous groups) and have all known versions (no gaps) Isomorphic to Iglu Core's SchemaList

Value Members

  1. object FlatData

    Permalink
  2. object FlatSchema extends Serializable

    Permalink
  3. object Migration extends Serializable

    Permalink
  4. object SchemaDiff extends Serializable

    Permalink
  5. object SchemaList extends Serializable

    Permalink

Ungrouped