TinyMigrator

zio.blocks.data.migration.TinyMigrator
abstract class TinyMigrator(transactor: Transactor)

A-Tiny: startup migration that runs schema DDL within a single transaction.

Usage:

class MyStartupMigrations(transactor: Transactor) extends TinyMigrator(transactor) {
 def run()(using tx: DbTx): Unit = {
   Ddl.createTable("users", IndexedSeq(
     ColumnDef("id", "BIGSERIAL", nullable = false),
     ColumnDef("email", "TEXT", nullable = false)
   )).update
 }
}

Attributes

Source
TinyMigrator.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def run()(using tx: DbTx): Unit

Override to define DDL operations. Runs inside transactor.transact.

Override to define DDL operations. Runs inside transactor.transact.

Attributes

Source
TinyMigrator.scala

Concrete methods

final def migrate(): Unit

Executes the migration at startup. Wraps run() in transactor.transact.

Executes the migration at startup. Wraps run() in transactor.transact.

Attributes

Source
TinyMigrator.scala