如何设置on Rails的Ruby的4 +应用程序的默认数据库隔离级别(How to set a R

2019-10-22 14:31发布

我要让我的应用程序序列化在默认情况下每一笔交易。 然后我会根据性能测量和知道什么数据的特定动作/交易使用和更改放松隔离。

我怀疑在默认情况下会序列化进入框架,因为它会慢下来,并很难解释。 但我不希望处理分贝腐败,也希望内部一致的数据进行汇总计算。

对于案件逐案隔离级别存在的Rails的PostgreSQL如何设置事务隔离级别序列化 ,但我认为这种做法是错误的,同样的原因HTML转义,以防止XSS错了,只好作罢:白名单比黑名单更加安全。

有没有人这样做了? 会在哪里挂接到铁轨做到这一点的好地方?

Answer 1:

如果你想要这个默认的,那么我建议在你的MySQL配置设置它。 这里设置的描述: https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_transaction-isolation

[mysqld]
default-character-set = utf8
default-storage-engine = InnoDB
default-table-type = InnoDB
transaction-isolation = SERIALIZABLE

对于PostgreSQL的设置被称为default_transaction_isolation 。 您可以设置此postgresql.conf中 。



文章来源: How to set a Ruby on Rails 4+ app's default db isolation level