2017-05-26 10 views
0

私は、Postgres DBのScala PlayアプリケーションでcodegenとSlick 3.2を使用しています。各テーブルには、create_timeのタイムスタンプフィールドがあり、次のタイプがあります。TIMESTAMP default (now() at time zone 'utc')。私が実行している問題は、SlickがモデルフィールドをcreateTimestamp: Option[java.sql.Timestamp]として生成し、createTimestampがNoneのときにその列に明示的にnullを挿入することです。私はその代わりに、DBがデフォルトを使用するように、insert文の値をそのまま残すようにしたいと思います。それを行う方法はありますか?挿入時にDBカラムのデフォルト値を滑らかにする方法は?

答えて

1

は、次のような何かを試みることができる:IDとまったくタイムスタンプを提供することなく

class YourModel(id: Option[Long], name: String, someOtherField: String, createdAt: Option[Timestamp]) 

のオブジェクトを挿入するには

を:

val table = TableQuery[YourModelTable] 

db.run(table.map(t => (t.name, t.someOtherField)) += ("MyName", "MyOtherField")) 
関連する問題