小编Sar*_*h G的帖子

找到Vagrantfile文件夹

我正在尝试调整我的Vagrantfile,以便它在项目根目录中自动创建一个文件夹,如果它丢失了.创建该文件夹是没有问题的,但我无法找出其中创建该文件夹.

我能够弄清楚这个信息在Vagrant::Environment对象上是可用的cwd,但我无法弄清楚如何从我的Vagrantfile中获取当前实例.Vagrant的文档似乎有点稀疏.

编辑:

我的问题不是关于如何使用Puppet.我正在写一些代码里面的Vagrantfile.我想知道如何获取当前的实例Vagrant::Environment.

vagrant

12
推荐指数
1
解决办法
8483
查看次数

如何在Slick 3.1中编译参数化更新?

尽管文档说您可以编译更新,但是我无法让Slick 3.1编译更新,而将要更新的值传递到已编译的块中。

对于我的用例,我想找到一个具有给定键的行,其中停用为空,并将停用时间设置为新的时间戳。

我想做的显而易见的事情是:

  private[this] lazy val updateDeactiveTime = Compiled { (settingName: Rep[String], time: Rep[Instant]) =>
    settings
      .filter { row => row.name === settingName && row.deactivatedAt.isEmpty }
      .map { _.deactivatedAt }
      .update(Some(time))
  }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这给了我一个update不能接受的投诉Rep[Option[Instant]]:它想要一个Option[Instant]

我了解Slick(不幸的是)不允许您在更新中使用动态计算的值。根据文档,限制操作之类的解决方法是使用ConstColumn[…]。尽职尽责,我尝试传递a ConstColumn[Option[Instant]],希望会有一些隐式转换或扩展,但是我仍然抱怨它必须是文字Option[Instant]

当然,我有立即数,但是如果每次目标值更改时都必须重新编译更新,那么编译更新没有多大意义。

如果我使用a LiteralColumn[…],我可以打电话_.value,但是Compiled不会让我要求a LiteralColumnCompiled也不允许我将参数设为time: Instant

scala slick-3.0

5
推荐指数
1
解决办法
388
查看次数

标签 统计

scala ×1

slick-3.0 ×1

vagrant ×1