私はこのようなテーブルがあります:私はできませんSlickでオプションの外部キーを定義する方法は?
....
case class AddressRow(
id: Option[Int] = None,
street: String,
number: String,
zipcode: String,
city: String,
country: String,
geoLocationId: Option[Int])
あなたはジオロケーションは、オプションの外部キーである気づくのよう:私の場合クラスがある
object Addresses extends Table[AddressRow]("address") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def street = column[String]("street")
def number = column[String]("number")
def zipcode = column[String]("zipcode")
def city = column[String]("city")
def country = column[String]("country")
def geoLocationId = column[Int]("geo_location_id", O.Nullable)
// Foreign keys.
def geoLocation = foreignKey("fk_geo_location", geoLocationId, GeoLocations)(_.id)
// Rest of my code.
...
}
を私の外来キーの定義でこれを "オプション"と記述する方法を見つける。
私は次のように試してみた:
def geoLocation = foreignKey("fk_geo_location", geoLocationId.asColumnOf[Option[Int]], GeoLocations)(_.id)
が、私が受け取る:
によって引き起こさ:scala.slick.SlickException:のみという名前の外部キー制約にキャスト 機能(適用列を使用することはできません列は です)
誰かが提案をしていますか?
ああ、それは動作します。ありがとう。 – liutao