Packages

c

slick.jdbc

JdbcModelBuilder

class JdbcModelBuilder extends Logging

Build a Slick model from introspecting the JDBC metadata.

In most cases you are better off transforming the generated model instead of overriding functionality here. It is only useful if you need easy access to the JDBC metadata in order to influence how the model is generated. A good use case would be interpreting column types or default values that Slick doesn't understand out of the box. If you just want to remove or hard code some default values, transform the resulting model instead.

The tight coupling can easily lead to source code incompatibilities in future versions. Avoid hooking in here if you don't have to.

Source
JdbcModelBuilder.scala
Linear Supertypes
Logging, AnyRef, Any
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. JdbcModelBuilder
  2. Logging
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new JdbcModelBuilder(mTables: Seq[MTable], ignoreInvalidDefaults: Boolean)(implicit ec: ExecutionContext)

    ignoreInvalidDefaults

    see JdbcModelBuilder#ColumnBuilder#default

Type Members

  1. class Builders extends AnyRef
  2. class ColumnBuilder extends AnyRef

    Column model builder.

  3. class ForeignKeyBuilder extends AnyRef
  4. class IndexBuilder extends AnyRef
  5. class PrimaryKeyBuilder extends AnyRef
  6. class TableBuilder extends AnyRef

    Table model builder

  7. class TableNamer extends AnyRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toany2stringadd[JdbcModelBuilder] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (JdbcModelBuilder, B)
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toArrowAssoc[JdbcModelBuilder] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def buildModel: DBIO[Model]

    Creates a Slick data model from jdbc meta data.

    Creates a Slick data model from jdbc meta data. Foreign keys pointing out of the given tables are not included.

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  9. def createBuilders(tablesByQName: Map[MQName, TableBuilder]): Builders
  10. def createColumnBuilder(tableBuilder: TableBuilder, meta: MColumn): ColumnBuilder

    Column model builder factory.

    Column model builder factory. Override for customization.

  11. def createForeignKeyBuilder(tableBuilder: TableBuilder, meta: Seq[MForeignKey]): ForeignKeyBuilder
  12. def createIndexBuilder(tableBuilder: TableBuilder, meta: Seq[MIndexInfo]): IndexBuilder
  13. def createPrimaryKeyBuilder(tableBuilder: TableBuilder, meta: Seq[MPrimaryKey]): PrimaryKeyBuilder
  14. def createTableBuilder(namer: TableNamer): DBIO[TableBuilder]

    Table model builder factory.

    Table model builder factory. Override for customization.

  15. def createTableNamer(meta: MTable): TableNamer
  16. def ensuring(cond: (JdbcModelBuilder) => Boolean, msg: => Any): JdbcModelBuilder
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toEnsuring[JdbcModelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (JdbcModelBuilder) => Boolean): JdbcModelBuilder
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toEnsuring[JdbcModelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: => Any): JdbcModelBuilder
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toEnsuring[JdbcModelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): JdbcModelBuilder
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toEnsuring[JdbcModelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  22. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. def jdbcTypeToScala(jdbcType: Int, typeName: String = ""): ClassTag[_]

    Converts from java.sql.Types w/ type name to the corresponding Java class name (with fully qualified path).

  26. lazy val logger: SlickLogger
    Attributes
    protected[this]
    Definition Classes
    Logging
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. def readColumns(t: MTable): DBIO[Vector[MColumn]]

    Read the column metadata for a table in ordinal position order

  31. def readForeignKeys(t: MTable): DBIO[Seq[Seq[MForeignKey]]]

    Read the foreign key metadata for a table grouped by name and in key sequence order

  32. def readIndices(t: MTable): DBIO[Seq[Seq[MIndexInfo]]]

    Read the index metadata grouped by name and in ordinal position order

  33. def readPrimaryKeys(t: MTable): DBIO[Vector[MPrimaryKey]]

    Read the primary key metadata for a table in key sequence order

  34. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  35. lazy val tableNamers: Seq[TableNamer]
  36. lazy val tableNamersByQName: Map[MQName, TableNamer]
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated
  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toStringFormat[JdbcModelBuilder] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (JdbcModelBuilder, B)
    Implicit
    This member is added by an implicit conversion from JdbcModelBuilder toArrowAssoc[JdbcModelBuilder] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromJdbcModelBuilder to any2stringadd[JdbcModelBuilder]

Inherited by implicit conversion StringFormat fromJdbcModelBuilder to StringFormat[JdbcModelBuilder]

Inherited by implicit conversion Ensuring fromJdbcModelBuilder to Ensuring[JdbcModelBuilder]

Inherited by implicit conversion ArrowAssoc fromJdbcModelBuilder to ArrowAssoc[JdbcModelBuilder]

Basic customization overrides

Ungrouped