All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.kaufhof.pillar.Migrator.scala Maven / Gradle / Ivy

The newest version!
package de.kaufhof.pillar

import java.util.Date

import com.datastax.driver.core.Session

object Migrator {
  def apply(registry: Registry, appliedMigrationsTableName: String): Migrator = {
    new CassandraMigrator(registry, appliedMigrationsTableName)
  }

  def apply(registry: Registry, reporter: Reporter, appliedMigrationsTableName: String): Migrator = {
    new ReportingMigrator(reporter, apply(registry, appliedMigrationsTableName), appliedMigrationsTableName)
  }
}

trait Migrator {
  def migrate(session: Session, dateRestriction: Option[Date] = None)

  def initialize(session: Session, keyspace: String, replicationStrategy: ReplicationStrategy)

  def createKeyspace(session: Session, keyspace: String, replicationStrategy: ReplicationStrategy)

  def createMigrationsTable(session: Session, keyspace: String)

  def destroy(session: Session, keyspace: String)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy