问题标签 [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.
mysql - 有条件地删除表格
知道如何在 Slick 3.0 中进行有条件的删除,以防止An exception or error caused a run to abort: Unknown table 'MY_TABLE'
由于某种原因它不存在吗?
database - 检查 slick 3.0 中的表是否存在
如何使用 slick 3.0 检查表是否存在?
在以前版本的 slick 中有一种方法是使用:
但这不再编译了。
这个问题背后的想法是当它不存在时动态创建一个表,就像这样:
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(_))
看起来有点奇怪。)
如果不是,放置静态方法的首选方式是什么?
scala - 在 Slick 3.0 中,如何简化嵌套的 `db.run`?
我正在使用 Slick 3.0,以下是我的代码:
这可能看起来不错。但是当回调层数较多时,代码可能会变得难以阅读。我尝试使用for-expression
or andThen
.. 来简化代码。但是由于模式匹配部分,我只能flatMap
用来实现这个..
有人对如何重构这个有想法吗?
scala - 在 Slick 3.0 中,为什么新引入的 `Streaming` 有用?
我发现 Slick 3.0 引入了一个新功能,叫做streaming
http://slick.typesafe.com/doc/3.0.0-RC1/database.html#streaming
我对阿卡不熟悉。streaming
似乎是一个惰性或异步值,但我不太清楚为什么它有用,什么时候有用..
有人对此有想法吗?
slick - 如何在 slick 3.0 中将 Rep[T] 转换为 T?
我使用了一个代码,它是从 slick 代码生成器生成的。
我的表有超过 22 列,因此它使用HList
它生成 1 种类型和 1 种功能:
如何从生成的代码编写编译的插入代码?
我试过这个:
我需要转换Rep[T]
为AccountRow函数才能工作T
。我怎么做?
谢谢
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 中的条目)。
我希望这能澄清一些事情:)
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]
文档建议的(根据我推断的)时
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 应该支持开箱即用,那么我在这里做错了什么?任何帮助是极大的赞赏。