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
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Grouped
  2. Alphabetic
  3. By inheritance
Inherited
  1. JdbcModelBuilder
  2. Logging
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

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: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (JdbcModelBuilder, B)

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to ArrowAssoc[JdbcModelBuilder] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. 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.

  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def createBuilders(tablesByQName: Map[MQName, TableBuilder]): Builders

  12. def createColumnBuilder(tableBuilder: TableBuilder, meta: MColumn): ColumnBuilder

    Column model builder factory.

    Column model builder factory. Override for customization.

  13. def createForeignKeyBuilder(tableBuilder: TableBuilder, meta: Seq[MForeignKey]): ForeignKeyBuilder

  14. def createIndexBuilder(tableBuilder: TableBuilder, meta: Seq[MIndexInfo]): IndexBuilder

  15. def createPrimaryKeyBuilder(tableBuilder: TableBuilder, meta: Seq[MPrimaryKey]): PrimaryKeyBuilder

  16. def createTableBuilder(namer: TableNamer): DBIO[TableBuilder]

    Table model builder factory.

    Table model builder factory. Override for customization.

  17. def createTableNamer(meta: MTable): TableNamer

  18. def ensuring(cond: (JdbcModelBuilder) ⇒ Boolean, msg: ⇒ Any): JdbcModelBuilder

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to Ensuring[JdbcModelBuilder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: (JdbcModelBuilder) ⇒ Boolean): JdbcModelBuilder

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to Ensuring[JdbcModelBuilder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean, msg: ⇒ Any): JdbcModelBuilder

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to Ensuring[JdbcModelBuilder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. def ensuring(cond: Boolean): JdbcModelBuilder

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to Ensuring[JdbcModelBuilder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  26. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  27. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  28. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  29. def jdbcTypeToScala(jdbcType: Int): ClassTag[_]

    Converts from java.

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

  30. lazy val logger: SlickLogger

    Attributes
    protected[this]
    Definition Classes
    Logging
  31. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  34. def readColumns(t: MTable): DBIO[Vector[MColumn]]

    Read the column metadata for a table in ordinal position order

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

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

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

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

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

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

  38. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  39. lazy val tableNamers: Seq[TableNamer]

  40. lazy val tableNamersByQName: Map[MQName, TableNamer]

  41. def toString(): String

    Definition Classes
    AnyRef → Any
  42. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. def [B](y: B): (JdbcModelBuilder, B)

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to ArrowAssoc[JdbcModelBuilder] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (jdbcModelBuilder: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (jdbcModelBuilder: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def x: JdbcModelBuilder

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to ArrowAssoc[JdbcModelBuilder] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (jdbcModelBuilder: ArrowAssoc[JdbcModelBuilder]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: JdbcModelBuilder

    Implicit information
    This member is added by an implicit conversion from JdbcModelBuilder to Ensuring[JdbcModelBuilder] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (jdbcModelBuilder: Ensuring[JdbcModelBuilder]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from JdbcModelBuilder to StringAdd

Inherited by implicit conversion any2stringfmt from JdbcModelBuilder to StringFormat

Inherited by implicit conversion any2ArrowAssoc from JdbcModelBuilder to ArrowAssoc[JdbcModelBuilder]

Inherited by implicit conversion any2Ensuring from JdbcModelBuilder to Ensuring[JdbcModelBuilder]

Basic customization overrides

Ungrouped