kullanarak 'None' ise varsayılan değerleri eklemek Sorunum basit.Sütun değeri
CREATE TABLE some_table
(
...
seq_num DECIMAL(18,10) NOT NULL DEFAULT 1,
...
);
Kullanıcı arayüzünden seqNum
için bir değer girin veya olamaz:
ben şöyle CREATE TABLE
açıklamada NOT NULL DEFAULT 1
olan bir sütun seqNum: Double
var. Yani kabul PLAY
formu gibidir: None
olduğunda
case class SomeSection (
...
seqNum: Option[Double],
...
)
class SomeSections(tag: Tag) extends Table[SomeSection](tag, "some_table") {
def * = (
...
seqNum.?,
...
) <> (SomeSection.tupled, SomeSection.unapply _)
...
def seqNum = column[Double]("seq_num", O.NotNull, O.Default(1))
...
}
object SomeSections {
val someSections = TableQuery[SomeSections]
val autoInc = someSections returning someSections.map(_.sectionId)
def insert(s: someSection)(implicit session: Session) = {
autoInc.insert(s)
}
}
Ben arayüzünden seqNum
yolluyorum, her şey var gayet çalışır ama:
case class SomeCaseClass(..., seqNum: Option[Double], ...)
val secForm = Form(mapping(
...
"seqNum" -> optional(of[Double]),
...
)(SomeCaseClass.apply)(SomeCaseClass.unapply))
kaygan Tablo şema & Nesneler şuna benzer Bu, 'un NULL NULL sütununda doğru giremeyeceğini söyleyerek kırılır. This question nedenini açıklıyor.
Ancak bu sorunu slick
kullanarak nasıl çözebilirim? None
'u nerede kontrol etmem gerektiğini anlayamıyorum? nesnesini SomeSections
Nesnesi insert
yöntemine göndermek.
Önemliyse, sql-server kullanıyorum.
Eğer '.getOrElse (theDefault)' işlevini kullanacaksam, tablo oluştururken ayarlanan varsayılan değer hiçbir şey kullanamayacağından, hiçbir şey kullanamayacağım. –
"Hiçbiri" nin geçmesi hiçbir şey geçmiyor. – cchantep