postgresql - 如何将 Postgres 中的文本数组映射到 Scala Slick
问题描述
我的 postgres 表中有以下列:
ALTER TABLE my_table
ALTER COLUMN test_field TYPE text ARRAY USING test_field::text ARRAY
当我直接从我的 postgres 表中重新生成 Slick 模式时,我有以下“
* @param test_field Database column test_field SqlType(_text), Length(2147483647,false), Default(None) */
case class MyTable(id: java.util.UUID, created: Option[java.sql.Timestamp] = None, test_field: Option[String] = None)
/** GetResult implicit for fetching MyTable objects using plain SQL queries */
implicit def GetResultTable(implicit e0: GR[java.util.UUID], e1: GR[Option[java.sql.Timestamp]], e2: GR[String] = GR{
prs => import prs._
MyTable(<<[java.util.UUID], <<?[java.sql.Timestamp],<<?[String])
}
我不确定为什么该字段未被识别为Option[Array[String]]
,我哪里出错了?
谢谢
解决方案
我使用slick-pg
并创建了自己MyPostgresProfile
的项目,如项目的 README 中所述。text[]
事实证明,在 Postgres 中处理 Slick 存在问题,尽管slick-pg
它确实支持数组:
[https://github.com/tminglei/slick-pg/tree/master/core/src/main/scala/com/github/tminglei/slickpg/array][1]
在生成表时,这样的数组实际上被视为一个Seq
我最终将 Postgres 中的数据类型从 Array 更改为 jsonb,插件使用JValue
.
推荐阅读
- excel - 使用 VBA 写入 TXT 文件 - 文件被中断
- jquery - 尝试删除时删除()不起作用
- 从按钮生成
- html - 第一个 div 透明背景 - Angular 7
- jolt - 使用 Jolt 组合两个数组和转换
- javascript - 如何使用function属性作为onclick事件(输入元素)的属性?
- python - 如何计算矩阵的以 2 为底的对数?
- java - Spring Boot Data Problem on save entity on element to list changes
- node.js - Mongoose 不显示来自 mongoDB 的数据
- javascript - 加载页面上的所有元素 Selenium + Ruby
- python - scrapy 无法关注完整链接