如何通过View by Slick生成没有选项的案例类?

时间:2019-01-26 20:38:48

标签: postgresql slick

我有两个表,两个表的值都不为空。

CREATE TABLE data_raw
(
  id bigserial not null constraint data_raw_pkey primary key,
  title varchar(255) not null
  search_result_id varchar(255) not null constraint data_search_result_id_key unique
)
CREATE TABLE  data_annotated
(
  id bigserial not null constraint data_annotated_pkey primary key,
  id_match numeric(4,3) not null
  search_result_id varchar(255) not null
)

我有一个连接两个表的视图

CREATE VIEW data_test AS
  SELECT r.id, r.title, a.id_match, r.search_result_id
  FROM data_raw r JOIN data_annotated a ON r.search_result_id = a.search_result_id

所有字段都不为空,为表生成的代码具有非可选字段。但是,视图的生成类具有所有可选字段。如何实现从视图生成非可选字段?使用后退。

case class DataTest(
  id: ID,
  title: Option[String] = None,
  idMatch: Option[scala.math.BigDecimal] = None,
  searchResultId: Option[String] = None) extends Node

1 个答案:

答案 0 :(得分:0)

这不是解决方案,但我想生成器正在查看架构定义。

select column_name, is_nullable
from INFORMATION_SCHEMA.COLUMNS where table_name = 'data_test';

| column_name     | is_nullable |
|-----------------|-------------|
| id              | YES         |
| title           | YES         |
| id_match        | YES         |
|search_result_id | YES         |

至少我希望这能解释您为什么一路得到Option的原因。