class DbMigrations extends NamedLogging

Performs DB migrations using Flyway.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DbMigrations
  2. NamedLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DbMigrations(dbConfig: DbConfig, alphaVersionSupport: Boolean, timeouts: ProcessingTimeout, loggerFactory: NamedLoggerFactory)(implicit ec: ExecutionContext, closeContext: CloseContext)

    alphaVersionSupport

    Whether we want to add the schema files found in the dev folder to the migration. A user that does that, won't be able to upgrade to new Canton versions, as we reserve our right to just modify the dev version files in any way we like.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def checkAndMigrate(params: CantonNodeParameters, retryConfig: RetryConfig)(implicit tc: TraceContext): EitherT[UnlessShutdown, Error, Unit]
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def createFlyway(dataSource: DataSource): Flyway

    Database is migrated using Flyway, which looks at the migration files at src/main/resources/db/migration/canton as explained at https://flywaydb.org/documentation/getstarted/firststeps/api

    Database is migrated using Flyway, which looks at the migration files at src/main/resources/db/migration/canton as explained at https://flywaydb.org/documentation/getstarted/firststeps/api

    Attributes
    protected
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  15. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    DbMigrationsNamedLogging
  16. def migrateDatabase(): EitherT[UnlessShutdown, Error, Unit]

    Migrate the database with all pending migrations.

  17. def migrateDatabaseInternal(flyway: Flyway)(implicit traceContext: TraceContext): EitherT[UnlessShutdown, Error, Unit]
    Attributes
    protected
  18. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def repairFlywayMigration(): EitherT[UnlessShutdown, Error, Unit]

    Repair the database in case the migrations files changed (e.g.

    Repair the database in case the migrations files changed (e.g. due to comment changes). To quote the Flyway documentation:

    Repair is your tool to fix issues with the schema history table. It has a few main uses:
    
    - Remove failed migration entries (only for databases that do NOT support DDL transactions)
    - Realign the checksums, descriptions, and types of the applied migrations with the ones of the available migrations
    - Mark all missing migrations as deleted
  24. def repairFlywayMigrationInternal(flyway: Flyway)(implicit traceContext: TraceContext): EitherT[UnlessShutdown, Error, Unit]
    Attributes
    protected
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. def withCreatedDb[A](retryConfig: RetryConfig)(fn: (slick.jdbc.JdbcBackend.Database) => EitherT[UnlessShutdown, Error, A]): EitherT[UnlessShutdown, Error, A]
    Attributes
    protected
  31. def withDb[A](retryConfig: RetryConfig = RetryConfig.failFast)(fn: (slick.jdbc.JdbcBackend.Database) => EitherT[UnlessShutdown, Error, A])(implicit traceContext: TraceContext): EitherT[UnlessShutdown, Error, A]

    With replication possibly multiple nodes sharing the same database, therefore we use a DB-lock based coordination for performing the DB migration.

    With replication possibly multiple nodes sharing the same database, therefore we use a DB-lock based coordination for performing the DB migration. Only the node that acquired the lock performs the migration operation at a time.

  32. def withFlyway[A](fn: (Flyway) => EitherT[UnlessShutdown, Error, A])(implicit traceContext: TraceContext): EitherT[UnlessShutdown, Error, A]
    Attributes
    protected

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped