问题标签 [slick-3.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1836 浏览

mysql - 有条件地删除表格

知道如何在 Slick 3.0 中进行有条件的删除,以防止An exception or error caused a run to abort: Unknown table 'MY_TABLE'由于某种原因它不存在吗?

0 投票
1 回答
4386 浏览

database - 检查 slick 3.0 中的表是否存在

如何使用 slick 3.0 检查表是否存在?

在以前版本的 slick 中有一种方法是使用:

但这不再编译了。

这个问题背后的想法是当它不存在时动态创建一个表,就像这样:

0 投票
1 回答
69 浏览

playframework - 在 Slick 2.x/3.x 中,我应该在哪里放置与表关联的额外静态方法?

在 Slick 3.0 的升级指南中,我发现了这样的内容:

在 Slick 1.0 中,常见的做法是将与表关联的额外静态方法放入该表的对象中。您可以在 2.0 中使用自定义 TableQuery 对象执行相同操作:

这是否意味着在 Slick 2.x/3.x 中将静态方法放入表的对象中不是一种常见的做法或不推荐?(顺便说一句, 的语法object suppliers extends TableQuery(new Suppliers(_))看起来有点奇怪。)

如果不是,放置静态方法的首选方式是什么?

0 投票
2 回答
2032 浏览

scala - 在 Slick 3.0 中,如何简化嵌套的 `db.run`?

我正在使用 Slick 3.0,以下是我的代码:

这可能看起来不错。但是当回调层数较多时,代码可能会变得难以阅读。我尝试使用for-expressionor andThen.. 来简化代码。但是由于模式匹配部分,我只能flatMap用来实现这个..

有人对如何重构这个有想法吗?

0 投票
1 回答
1344 浏览

scala - 在 Slick 3.0 中,为什么新引入的 `Streaming` 有用?

我发现 Slick 3.0 引入了一个新功能,叫做streaming

http://slick.typesafe.com/doc/3.0.0-RC1/database.html#streaming

我对阿卡不熟悉。streaming似乎是一个惰性或异步值,但我不太清楚为什么它有用,什么时候有用..

有人对此有想法吗?

0 投票
2 回答
2466 浏览

sql - Slick 3.0 - 更新表中的列并返回整个表对象?

这是 Slick 2 的实现。

Slick 2 - 更新表中的列并返回整个表对象

有人对如何在 Slick 3 中实现这一点有想法吗?

0 投票
1 回答
1497 浏览

slick - 如何在 slick 3.0 中将 Rep[T] 转换为 T?

我使用了一个代码,它是从 slick 代码生成器生成的。

我的表有超过 22 列,因此它使用HList

它生成 1 种类型和 1 种功能:

如何从生成的代码编写编译的插入代码?

我试过这个:

我需要转换Rep[T]AccountRow函数才能工作T。我怎么做?

谢谢

0 投票
2 回答
1650 浏览

scala - Slick 3 交易

我试图弄清楚如何将我自己的闭包表实现从另一种语言移植到 Scala,同时考虑到并发性。

我有两个模型,一个节点(id | parentID)和一个 NodeTree(id | 祖先 | 后代),其中每个条目都类似于树中的一条边。

对于每个新节点,我必须执行以下操作:查询所有祖先(或为它们过滤 TableQuery),然后为每个祖先添加一个 NodeTree-Entry(一条边)

感谢黑豹,我走到了这一步:

但这会导致类型不匹配;

类型不匹配; 找到:slick.lifted.Rep[Long] 需要:Option[Long]

再一次:我想要做的是:对于每个 parentNode(= 每个父节点的父节点,直到最后一个祖先节点没有父节点!)我想在 nodeTree 中创建一个条目,以便稍后我可以轻松地获取所有后代和祖先只需另一个通过 NodeTree-Table 过滤的方法调用。

(只是一个封闭表,真的)

编辑:这些是我的模型

我想要做的是一个闭包表(http://technobytz.com/closure_table_store_hierarchical_data.html),当我创建一个节点时它会自动填充它的边缘(nodeTree)。所以我不想手动将所有这些条目添加到数据库中,但是当我在第 5 级创建节点时,我希望自动创建整个路径(= nodetree-table 中的条目)。

我希望这能澄清一些事情:)

0 投票
1 回答
3282 浏览

mysql - 如何使用 Slick 3.0 在 MySQL 中调用存储过程和定义的函数

我在我的数据库中定义了这样的东西

现在我收到了 Stefan Zeiger(Slick 领导)的答复,将我重定向到这里:Slick 中的用户定义函数

我已经尝试过(在范围内有以下对象):

结果:Rep(slick.lifted.SimpleFunction$$anon$2@13fd2ccd fun_totalInvestorsFor, false) was not equal to 23

我也尝试过在 src/main/resources 中有一个 application.conf,如下所示:

然后在我的代码中@StaticDatabaseConfig("file:src/main/resources/application.conf#tsql")

结果:Error:(24, 9) Cannot load @StaticDatabaseConfig("file:src/main/resources/application.conf#tsql"): No configuration setting found for key 'tsql' tsql"select fun_totalInvestorsFor('APPLE')" should be (23) ^

我还计划通过sql"call myProc(v1).as[(Int, Int, Int)]调用返回三个值的一个元组的存储过程

有任何想法吗?

编辑:当 生成sql""""SELECT COUNT(DISTINCT LOYAL3_SHARED_HOLDER_ID) FROM stocks_x_hldr WHERE STOCK_TICKER_SIMBOL = issuer AND QUANT_PURCHASES > QUANT_SALES""".as[(Int)] 结果SqlStreamingAction[Vector[Int], Int, Effect]而不是DBIO[Int]文档建议的(根据我推断的)时

0 投票
1 回答
145 浏览

playframework - play-slick 1.0.0:无法定义类型为 java.sql.Date 的列

我目前正在尝试使用 play-framework 2.4.0-RC5 和 play-slick 1.0.0-RC3 定义一个灵活的模式,如下所示:

在编译时,scala 失败并出现错误:

根据光滑的文档, java.sql.Date 应该支持开箱即用,那么我在这里做错了什么?任何帮助是极大的赞赏。