GenerationRules

slick.additions.codegen.GenerationRules

Generates TableConfigs (and their ColumnConfigs) by reading database metadata. Extend this directly or indirectly, and override methods freely to customize.

The default implementation generates code that does not use slick-additions, uses camelCase for corresponding snake_case names in the database, and names model classes by appending Row to the camel-cased table name.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Concrete methods

def baseColumnType(currentTableMetadata: TableMetadata, all: Seq[TableMetadata]): PartialFunction[MColumn, Type]

Determine the base Scala type for a column. If the column is nullable, the type returned from this method will be wrapped in Option[...].

Determine the base Scala type for a column. If the column is nullable, the type returned from this method will be wrapped in Option[...].

Extend by overriding with orElse.

Attributes

See also
Example
 override def baseColumnType(current: TableMetadata, all: Seq[TableMetadata]) = super.baseColumnType(current,
 all).orElse { case ... } 
def columnConfig(column: MColumn, currentTableMetadata: TableMetadata, all: Seq[TableMetadata]): ColumnConfig
def columnConfigs(currentTableMetadata: TableMetadata, all: Seq[TableMetadata]): List[ColumnConfig]
def extraImports: List[String]
def tableConfig(currentTableMetadata: TableMetadata, all: Seq[TableMetadata]): TableConfig
def tableConfigs(slickProfileClass: Class[_ <: JdbcProfile])(implicit ec: ExecutionContext): DBIO[List[TableConfig]]