KeyedTable

slick.additions.AdditionsProfile.AdditionsApi.KeyedTable
abstract class KeyedTable[K, A](tag: Tag, tableName: String)(implicit val keyMapper: BaseColumnType[K]) extends Table[A], KeyedTableBase

Attributes

Graph
Supertypes
class Table[A]
class AbstractTable[A]
trait Rep[A]
class Object
trait Matchable
class Any
Show all
Known subtypes
class EntityTable[K, V]
class BaseEntRow

Members list

Type members

Types

type Key = K

Inherited types

final type TableElementType = T

The client-side type of the table as defined by its * projection

The client-side type of the table as defined by its * projection

Attributes

Inherited from:
Table

Value members

Inherited methods

def *: ProvenShape[T]

The * projection of the table used as default for queries and inserts. Should include all columns as a tuple, HList or custom shape and optionally map them to a custom entity type using the <> operator. The ProvenShape return type ensures that there is a Shape available for translating between the Column-based type in * and the client-side type without Column in the table's type parameter.

The * projection of the table used as default for queries and inserts. Should include all columns as a tuple, HList or custom shape and optionally map them to a custom entity type using the <> operator. The ProvenShape return type ensures that there is a Shape available for translating between the Column-based type in * and the client-side type without Column in the table's type parameter.

Attributes

Inherited from:
AbstractTable
def column[C](n: String, options: ColumnOption[C]*)(implicit tt: TypedType[C]): Rep[C]

Note that Slick uses VARCHAR or VARCHAR(254) in DDL for String columns if neither ColumnOption DBType nor Length are given.

Note that Slick uses VARCHAR or VARCHAR(254) in DDL for String columns if neither ColumnOption DBType nor Length are given.

Attributes

Inherited from:
Table
def create_*: Iterable[FieldSymbol]

Attributes

Inherited from:
AbstractTable
override def encodeRef(path: Node): AbstractTable[T]

Encode a reference into this Rep.

Encode a reference into this Rep.

Attributes

Definition Classes
AbstractTable -> Rep
Inherited from:
AbstractTable
def foreignKey[P, PU, TT <: AbstractTable[_], U](name: String, sourceColumns: P, targetTableQuery: TableQuery[TT])(targetColumns: TT => P, onUpdate: ForeignKeyAction, onDelete: ForeignKeyAction)(implicit unpack: Shape[_ <: FlatShapeLevel, TT, U, _], unpackP: Shape[_ <: FlatShapeLevel, P, PU, _]): ForeignKeyQuery[TT, U]

Define a foreign key relationship.

Define a foreign key relationship.

Value parameters

name

The name of the foreign key in the database (only used when you define the database schema with Slick).

onDelete

A ForeignKeyAction, default being NoAction.

onUpdate

A ForeignKeyAction, default being NoAction.

sourceColumns

A column or a projection of multiple columns from this table defining the source of the foreign key.

targetColumns

A function that maps from the target table to the column (or columns) to which the foreign key points.

targetTableQuery

The TableQuery for the target table.

Attributes

Inherited from:
AbstractTable
final def foreignKeys: Iterable[ForeignKey]

Attributes

Inherited from:
AbstractTable
def index[A](name: String, on: A, unique: Boolean)(implicit shape: Shape[_ <: FlatShapeLevel, A, _, _]): Index

Define an index or a unique constraint.

Define an index or a unique constraint.

Attributes

Inherited from:
AbstractTable
def indexes: Iterable[Index]

Attributes

Inherited from:
AbstractTable
def key: Rep[Key]

Attributes

Inherited from:
KeyedTableBase
def keyColumnName: String

Attributes

Inherited from:
KeyedTableBase
def keyColumnOptions: List[ColumnOption[Nothing] & Singleton]

Attributes

Inherited from:
KeyedTableBase
def primaryKey[A](name: String, sourceColumns: A)(implicit shape: Shape[_ <: FlatShapeLevel, A, _, _]): PrimaryKey

Define the primary key for this table. It is usually simpler to use the O.PrimaryKey option on the primary key column but this method allows you to define compound primary keys or give them user-defined names (when defining the database schema with Slick).

Define the primary key for this table. It is usually simpler to use the O.PrimaryKey option on the primary key column but this method allows you to define compound primary keys or give them user-defined names (when defining the database schema with Slick).

Attributes

Inherited from:
AbstractTable
final def primaryKeys: Iterable[PrimaryKey]

Attributes

Inherited from:
AbstractTable
def tableConstraints: Iterator[Constraint]

Attributes

Inherited from:
AbstractTable
def tableIdentitySymbol: TableIdentitySymbol

Attributes

Inherited from:
Table
def tableProvider: RelationalProfile

Attributes

Inherited from:
Table
override def toNode: Node

Get the Node for this Rep.

Get the Node for this Rep.

Attributes

Definition Classes
AbstractTable -> Rep
Inherited from:
AbstractTable
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Rep -> Any
Inherited from:
Rep

Inherited fields

val O: SqlColumnOptions

Attributes

Inherited from:
Table
val schemaName: Option[String]

Attributes

Inherited from:
AbstractTable
lazy val tableNode: TableNode

Attributes

Inherited from:
AbstractTable
val tableTag: Tag

Attributes

Inherited from:
AbstractTable

Implicits

Implicits

implicit val keyMapper: BaseColumnType[K]