テーブルのカラム設定
カラム定義の際、名称のあとに、オプションを記載することができます。
参考:http://slick.typesafe.com/doc/1.0.0/lifted-embedding.html#tables
Oオブジェクトから呼び出すことができます。
例:
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def email = column[String]("email", O.NotNull)
def name = column[String]("name", O.Default("名無しさん"))
def password = column[String]("password", O.NotNull)
設定できる項目は以下の通り。
【 NotNull, Nullable 】
・明示的に決めたい場合は記述する。
・暗黙的に決めることもできる。その場合は、case classの引数をOption型とする。
【 PrimaryKey 】
・主キーとする。
【 Default[T](defaultValue: T) 】
・情報が存在しなかった場合(None?)にデフォルト値としてdefaultValueを挿入する。
【 DBType(dbType: String) 】
・標準的でないデータベース定義をする場合に用いる(例:DBType("VARCHAR(20)"))。
【 AutoInc 】
・Auto Incrementするように定める。
・データ挿入時に値を返す場合は、必ずこれが設定されているかチェックされる。
(Auto-Incermentでないカラムを返すことが許されていないデータベースが多いため)。
comments powered by Disqus