instance method set_constraints

Ruby on Rails 8.0.4

Since v7.2.3

Available in: v7.2.3 v8.0.4 v8.1.2

Signature

set_constraints(deferred, *constraints)

Set when constraints will be checked for the current transaction.

Not passing any specific constraint names will set the value for all deferrable constraints.

deferred

Valid values are :deferred or :immediate.

See www.postgresql.org/docs/current/sql-set-constraints.html

Parameters

deferred req
constraints rest
Source
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 110
        def set_constraints(deferred, *constraints)
          unless %i[deferred immediate].include?(deferred)
            raise ArgumentError, "deferred must be :deferred or :immediate"
          end

          constraints = if constraints.empty?
            "ALL"
          else
            constraints.map { |c| quote_table_name(c) }.join(", ")
          end
          execute("SET CONSTRAINTS #{constraints} #{deferred.to_s.upcase}")
        end

Defined in activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb line 110 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements

Type at least 2 characters to search.

↑↓ navigate · open · esc close