Migration

object Migration
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

final case class AddCase(path: NodePath, node: MetaSchema) extends Migration
final case class AddNode(path: NodePath, node: MetaSchema) extends Migration
final case class ChangeType(path: NodePath, value: StandardType[_]) extends Migration
final case class DecrementDimensions(path: NodePath, n: Int) extends Migration
final case class DeleteNode(path: NodePath) extends Migration
final case class IncrementDimensions(path: NodePath, n: Int) extends Migration
Companion:
class
sealed trait LabelTransformation

Represents a valid label transformation.

Represents a valid label transformation.

Not currently implemented but we can use this type to encode unambiguous string transformations applied to field and case labels. For example, converting from snake to camel case (or vica versa)

Companion:
object
final case class Optional(path: NodePath) extends Migration
final case class Recursive(path: NodePath, relativeNodePath: NodePath, relativeMigration: Migration) extends Migration
final case class Relabel(path: NodePath, tranform: LabelTransformation) extends Migration
final case class Require(path: NodePath) extends Migration
final case class UpdateFail(path: NodePath, message: String) extends Migration

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def derive(from: MetaSchema, to: MetaSchema): Either[String, Chunk[Migration]]