trait ChainDbManagement extends DbManagement
Responsible for creating and destroying database tables inside of the Chain project.
- Self Type
- ChainDbManagement with JdbcProfileComponent[ChainAppConfig]
- Alphabetic
- By Inheritance
- ChainDbManagement
- DbManagement
- BitcoinSLogger
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def ec: ExecutionContext
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- lazy val allTables: List[slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[slick.jdbc.JdbcProfile.JdbcAPI.Table[_]]]
- Definition Classes
- ChainDbManagement → DbManagement
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clean(): CleanResult
Runs flyway clean
Runs flyway clean
WARNING: THIS DELETES ALL DATA IN THE DATABASE, YOU PROBABLY DON'T WANT THIS UNLESS YOU ARE USING TESTS
- Definition Classes
- DbManagement
- See also
https://flywaydb.org/documentation/command/clean
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def createSchema(createIfNotExists: Boolean = true)(implicit ec: ExecutionContext): Future[Unit]
- Definition Classes
- DbManagement
- def createTable(table: slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[_ <: slick.jdbc.JdbcProfile.JdbcAPI.Table[_]], createIfNotExists: Boolean = true)(implicit ec: ExecutionContext): Future[Unit]
Creates the given table
Creates the given table
- Definition Classes
- DbManagement
- def dropAll()(implicit ec: ExecutionContext): Future[Unit]
- Definition Classes
- DbManagement
- def dropTable(tableName: String)(implicit ec: ExecutionContext): Future[Int]
- Definition Classes
- DbManagement
- def dropTable(table: slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[slick.jdbc.JdbcProfile.JdbcAPI.Table[_]]): Future[Unit]
- Definition Classes
- DbManagement
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- lazy val flyway: Flyway
- Attributes
- protected
- Definition Classes
- DbManagement
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def info(): MigrationInfoService
Returns flyway information about the state of migrations
Returns flyway information about the state of migrations
- Definition Classes
- DbManagement
- See also
https://flywaydb.org/documentation/command/info
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: Logger
- Definition Classes
- BitcoinSLogger
- def migrate(): MigrateResult
Executes migrations related to this database
Executes migrations related to this database
- Definition Classes
- DbManagement
- See also
https://flywaydb.org/documentation/api/#programmatic-configuration-java
- def migrationsApplied(): Int
- Definition Classes
- DbManagement
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- implicit def tableQueryToWithSchema(tableQuery: slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[_]): slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[slick.jdbc.JdbcProfile.JdbcAPI.Table[_]]
Internally, slick defines the schema member as
Internally, slick defines the schema member as
def schema: SchemaDescription = buildTableSchemaDescription(q.shaped.value.asInstanceOf[Table[_]])
we need to cast between TableQuery's of specific table types to the more generic TableQuery[Table[_]] to get methods in this trait working as they require schema (which essentially does this cast anyway)
This cast is needed because TableQuery is not covariant in its type parameter. However, since Query is covariant in its first type parameter, I believe the cast from TableQuery[T1] to TableQuery[T2] will always be safe so long as T1 is a subtype of T2 AND T1#TableElementType is equal to T2#TableElementType.
The above conditions are always the case when this is called in the current code base and will stay that way so long as no one tries anything too fancy.
- Attributes
- protected
- Definition Classes
- DbManagement
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()