我可以看到 ActiveRecord .save 调用在不进行保存的情况下会生成什么 SQL 吗?

jro*_*ind 5 activerecord ruby-on-rails

对于 ActiveRecord 查询,我可以看到生成的 SQL,而无需实际执行它:

SomeModel.where(something: "something").to_sql
Run Code Online (Sandbox Code Playgroud)

没有查询发送到数据库,但我可以将 SQL 视为字符串。

update对于将要生成的 SQL是否可以执行类似的操作some_model.save

我想也许不是吧,我找不到!

Sam*_*dhe 1

即使我还没有看到任何生成sql的方法save

我之前也遇到过一种情况,我发现我们可以使用sandbox的模式rails console来验证查询,一旦我们关闭控制台,它就会回滚会话中所做的更改。

rails console --sandbox

文档

如果您希望在不更改任何数据的情况下测试某些代码,可以通过调用rails console --sandbox 来实现。

@Rohan Daxini.to_sql添加了不可用的原因save