instance method
while_preventing_writes
Ruby on Rails 7.0.10
Since v6.0.6 Last seen in v7.0.10Signature
while_preventing_writes(enabled = true)
Prevent writing to the database regardless of role.
In some cases you may want to prevent writes to the database even if you are on a database that can write. while_preventing_writes will prevent writes to the database for the duration of the block.
This method does not provide the same protection as a readonly user and is meant to be a safeguard against accidental writes.
See READ_QUERY for the queries that are blocked by this method.
Parameters
-
enabledopt = true
Source
# File activerecord/lib/active_record/connection_adapters/abstract/connection_handler.rb, line 102
def while_preventing_writes(enabled = true)
unless ActiveRecord.legacy_connection_handling
raise NotImplementedError, "`while_preventing_writes` is only available on the connection_handler with legacy_connection_handling"
end
original, self.prevent_writes = self.prevent_writes, enabled
yield
ensure
self.prevent_writes = original
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/connection_handler.rb line 102
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::ConnectionHandler