【问题标题】:Ruby - SQLite3 - set pragmas from codeRuby - SQLite3 - 从代码中设置编译指示
【发布时间】:2018-01-26 19:52:03
【问题描述】:

我在 macos (Ruby 2.0.0-p247) 上使用 Ruby SQLite3 (1.13.11) 为我的应用程序创建一些数据库。我需要设置一些 pragma,但我不确定我做对了。这就是我设置PRAGMA synchronous = OFF

db = SQLite3::Database.new("test.db")
db.synchronous
2
db.synchronous = 0
db.synchronous
0

这似乎可行,但是当我用DB Browser for SQLite 打开我的test.db 时,synchronous 仍设置为Full

我也试过

db.execute("PRAGMA synchronous = OFF")

结果相同。

synchronous 是否与连接关联?所有PRAGMAS都是这样吗?

【问题讨论】:

    标签: ruby sqlite


    【解决方案1】:

    一些 PRAGMA 与当前数据库连接相关联,因此它们不会在会话之间持久化。例如:journal_mode

    有关所有 PRAGMAS 的列表,请参阅 this 链接

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 2021-06-20
      • 1970-01-01
      • 2019-11-18
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 2019-05-27
      相关资源
      最近更新 更多