scala codegen не может обрабатывать дату и время по умолчанию '0000-00-00 00:00:00'?

Я хотел бы проанализировать устаревшую базу данных mysql (движок myisam) с использованием последней версии Slick (3.1.1).

Однако запуск slick.codegen.SourceCodeGenerator в этой базе данных приводит к ошибке:

slick.SlickException: Could not parse default value Some(0000-00-00 00:00:00) for column foo.bar.baz of type java.sql.Timestamp, meta data: MColumn(MQName(foo.bar),baz,93,DATETIME,Some(19),None,10,Some(false),Some(),Some(0000-00-00 00:00:00),0,1,Some(false),None,None,Some(false))
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder.convenientDefault(JdbcModelBuilder.scala:270)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder.model(JdbcModelBuilder.scala:279)
    at slick.jdbc.JdbcModelBuilder$TableBuilder$$anonfun$columns$1.apply(JdbcModelBuilder.scala:161)
    ...
Caused by: scala.MatchError: (0000-00-00 00:00:00,java.sql.Timestamp) (of class scala.Tuple2)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder$$anonfun$default$1.apply(JdbcModelBuilder.scala:215)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder$$anonfun$default$1.apply(JdbcModelBuilder.scala:212)
    at scala.Option.map(Option.scala:146)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder.default(JdbcModelBuilder.scala:212)
    at slick.driver.MySQLDriver$ModelBuilder$$anon$4.slick$driver$MySQLDriver$ModelBuilder$$anon$$super$default(MySQLDriver.scala:71)
    at slick.driver.MySQLDriver$ModelBuilder$$anon$4$$anonfun$default$3.apply(MySQLDriver.scala:71)
    at slick.driver.MySQLDriver$ModelBuilder$$anon$4$$anonfun$default$3.apply(MySQLDriver.scala:70)
    at scala.Option.getOrElse(Option.scala:121)
    at slick.driver.MySQLDriver$ModelBuilder$$anon$4.default(MySQLDriver.scala:70)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder$$anonfun$defaultColumnOption$3.apply(JdbcModelBuilder.scala:252)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder$$anonfun$defaultColumnOption$3.apply(JdbcModelBuilder.scala:252)
    at scala.Option.getOrElse(Option.scala:121)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder.defaultColumnOption(JdbcModelBuilder.scala:251)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder.convenientDefault(JdbcModelBuilder.scala:261)
    at slick.jdbc.JdbcModelBuilder$ColumnBuilder.model(JdbcModelBuilder.scala:279)
    at slick.jdbc.JdbcModelBuilder$TableBuilder$$anonfun$columns$1.apply(JdbcModelBuilder.scala:161)
    ...

Соответствующая таблица (код DDL) выглядит следующим образом:

CREATE TABLE `bar` (`baz` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00') ENGINE=MyISAM

Что пошло не так? Как исправить?

0 ответов

Другие вопросы по тегам