Packages

package data

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. case class Migration [J](id: MigrationId, enabled: Boolean, operation: Operation[J]) extends Product with Serializable

    Serialisable representation of a migration, this limits it's expressiveness, but increases it's uses

    Serialisable representation of a migration, this limits it's expressiveness, but increases it's uses

    Scenario:

    1) You changed some case classes and/or codecs 2) You want to see if deploying the code will work in some environment, i.e. will the data in that environment be decodable losslessly to the new schema 3) Therefore you need to take the data in the environment, apply any new migrations to it, and then decode/encode it with the new code/codecs. 4) This always requires the migrations & data be co-located.

    The code here assumes your migrations will move to whereever the data is.

    If you can move the data to the migrations you might want to use jsondbc.migration.code instead, which is more expressive, it doesn't have a fixed number of ways of migrating that this approach has.

  2. case class MigrationId (name: String) extends Product with Serializable
  3. sealed abstract class Operation [J] extends AnyRef
  4. case class Optic [Json](value: String)(traversal: Traversal[Json, Json]) extends Product with Serializable

Value Members

  1. object Migration extends Serializable
  2. object MigrationId extends Serializable
  3. object Operation
  4. object Optic extends Serializable

Ungrouped