Postgresql 如何在光滑的表定义中使用数据库函数?

Postgresql 如何在光滑的表定义中使用数据库函数?,postgresql,scala,slick,slick-3.0,Postgresql,Scala,Slick,Slick 3.0,是否有人成功地使用Slick(我目前正在使用3.0.0-RC3,最新的可用版本)生成包含特定于DB的函数的表定义?如果是,如何做到这一点 示例:我在Postgres中有一列具有以下定义: "request_date" timestamp default now(), 我试着用圆滑的DDL描述它(没有成功) 第一次尝试: def requestDate = column[Option[DateTime]]("request_date", O Default "now()") 当然,这被拒绝了:

是否有人成功地使用Slick(我目前正在使用3.0.0-RC3,最新的可用版本)生成包含特定于DB的函数的表定义?如果是,如何做到这一点

示例:我在Postgres中有一列具有以下定义:

"request_date" timestamp default now(),
我试着用圆滑的DDL描述它(没有成功)

第一次尝试:

def requestDate = column[Option[DateTime]]("request_date", O Default "now()")
当然,这被拒绝了:

[error] <path-to-file>: type mismatch;
[error]  found   : String("now()")
[error]  required: Option[org.joda.time.DateTime]
[error]     def requestDate = column[Option[DateTime]]("request_date", O Default "now()")
这产生了另一个错误:

[error] <path-to-file>: type mismatch;
[error]  found   : slick.lifted.Rep[org.joda.time.DateTime]
[error]  required: Option[org.joda.time.DateTime]
[error]     def requestDate = column[Option[DateTime]]("request_date", O Default dbNow)
[错误]:类型不匹配;
[错误]找到:slick.lifted.Rep[org.joda.time.DateTime]
[错误]必需:选项[org.joda.time.DateTime]
[error]def requestDate=列[Option[DateTime]](“请求日期”,O默认dbNow)
我还尝试了
simpleTerral[DateTime](“now()”)
,这导致了类似的错误。(删除选项也没有帮助)


任何想法都将不胜感激。有点令人沮丧的是,这样一个简单的东西似乎不容易获得…

目前不支持:。您需要使用普通SQL相应地修改表。谢谢你的链接——这是一个非常古老的问题,看起来不会很快得到解决。唉,无论如何,从光滑的表类生成DDL并不一定是个好主意。你只能做一次。迁移需要在SQL中进行。为什么不从一开始就在SQL中使用模式,包括初始DDL,并使用代码生成呢?我们实际上是这样做的。(使用flywaydb)。这更是出于好奇。
[error] <path-to-file>: type mismatch;
[error]  found   : slick.lifted.Rep[org.joda.time.DateTime]
[error]  required: Option[org.joda.time.DateTime]
[error]     def requestDate = column[Option[DateTime]]("request_date", O Default dbNow)