123456789_123456789_123456789_123456789_123456789_

Module: ActiveRecord

Relationships & Source Files
Namespace Children
Modules:
Classes:
Exceptions:
ActiveRecordError, AdapterError, AdapterNotFound, AdapterNotSpecified, AdapterTimeout, AmbiguousSourceReflectionForThroughAssociation, AssociationNotFoundError, AssociationTypeMismatch, AsynchronousQueryInsideTransactionError, AttributeAssignmentError, CompositePrimaryKeyMismatchError, ConcurrentMigrationError, ConfigurationError, ConnectionFailed, ConnectionNotEstablished, ConnectionTimeoutError, DangerousAttributeError, DatabaseAlreadyExists, DatabaseConnectionError, Deadlocked, DeleteRestrictionError, DestroyAssociationAsyncError, DuplicateMigrationNameError, DuplicateMigrationVersionError, EagerLoadPolymorphicError, EnvironmentMismatchError, EnvironmentStorageError, ExclusiveConnectionTimeoutError, FixtureClassNotFound, HasManyThroughAssociationNotFoundError, HasManyThroughAssociationPointlessSourceTypeError, HasManyThroughAssociationPolymorphicSourceError, HasManyThroughAssociationPolymorphicThroughError, HasManyThroughCantAssociateThroughHasOneOrManyReflection, HasManyThroughNestedAssociationsAreReadonly, HasManyThroughOrderError, HasManyThroughSourceAssociationNotFoundError, HasOneAssociationPolymorphicThroughError, HasOneThroughCantAssociateThroughCollection, HasOneThroughCantAssociateThroughHasOneOrManyReflection, HasOneThroughNestedAssociationsAreReadonly, IllegalMigrationNameError, ImmutableRelation, InvalidForeignKey, InverseOfAssociationNotFoundError, InverseOfAssociationRecursiveError, IrreversibleMigration, IrreversibleOrderError, LockWaitTimeout, MigrationError, MismatchedForeignKey, MultiparameterAssignmentErrors, NoDatabaseError, NoEnvironmentInSchemaError, NotNullViolation, PendingMigrationError, PreparedStatementCacheExpired, PreparedStatementInvalid, ProtectedEnvironmentError, QueryAborted, QueryCanceled, RangeError, ReadOnlyError, ReadOnlyRecord, ReadonlyAttributeError, RecordInvalid, RecordNotDestroyed, RecordNotFound, RecordNotSaved, RecordNotUnique, Rollback, SQLWarning, SerializationFailure, SerializationTypeMismatch, SoleRecordExceeded, StaleObjectError, StatementInvalid, StatementTimeout, StrictLoadingViolationError, SubclassNotFound, TableNotSpecified, ThroughCantAssociateThroughHasOneOrManyReflection, ThroughNestedAssociationsAreReadonly, TransactionIsolationError, TransactionRollbackError, TypeConflictError, UnknownAttributeReference, UnknownMigrationVersionError, UnknownPrimaryKey, ValueTooLong, WrappedDatabaseException
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Defined in: activerecord/lib/active_record.rb,
activerecord/lib/active_record/aggregations.rb,
activerecord/lib/active_record/association_relation.rb,
activerecord/lib/active_record/associations.rb,
activerecord/lib/active_record/asynchronous_queries_tracker.rb,
activerecord/lib/active_record/attribute_assignment.rb,
activerecord/lib/active_record/attribute_methods.rb,
activerecord/lib/active_record/attributes.rb,
activerecord/lib/active_record/autosave_association.rb,
activerecord/lib/active_record/base.rb,
activerecord/lib/active_record/callbacks.rb,
activerecord/lib/active_record/connection_adapters.rb,
activerecord/lib/active_record/connection_handling.rb,
activerecord/lib/active_record/core.rb,
activerecord/lib/active_record/counter_cache.rb,
activerecord/lib/active_record/database_configurations.rb,
activerecord/lib/active_record/delegated_type.rb,
activerecord/lib/active_record/deprecator.rb,
activerecord/lib/active_record/destroy_association_async_job.rb,
activerecord/lib/active_record/disable_joins_association_relation.rb,
activerecord/lib/active_record/dynamic_matchers.rb,
activerecord/lib/active_record/encryption.rb,
activerecord/lib/active_record/enum.rb,
activerecord/lib/active_record/errors.rb,
activerecord/lib/active_record/explain.rb,
activerecord/lib/active_record/explain_registry.rb,
activerecord/lib/active_record/explain_subscriber.rb,
activerecord/lib/active_record/fixtures.rb,
activerecord/lib/active_record/future_result.rb,
activerecord/lib/active_record/gem_version.rb,
activerecord/lib/active_record/inheritance.rb,
activerecord/lib/active_record/insert_all.rb,
activerecord/lib/active_record/integration.rb,
activerecord/lib/active_record/internal_metadata.rb,
activerecord/lib/active_record/legacy_yaml_adapter.rb,
activerecord/lib/active_record/log_subscriber.rb,
activerecord/lib/active_record/marshalling.rb,
activerecord/lib/active_record/message_pack.rb,
activerecord/lib/active_record/migration.rb,
activerecord/lib/active_record/model_schema.rb,
activerecord/lib/active_record/nested_attributes.rb,
activerecord/lib/active_record/no_touching.rb,
activerecord/lib/active_record/normalization.rb,
activerecord/lib/active_record/persistence.rb,
activerecord/lib/active_record/promise.rb,
activerecord/lib/active_record/query_cache.rb,
activerecord/lib/active_record/query_logs.rb,
activerecord/lib/active_record/query_logs_formatter.rb,
activerecord/lib/active_record/querying.rb,
activerecord/lib/active_record/railtie.rb,
activerecord/lib/active_record/readonly_attributes.rb,
activerecord/lib/active_record/reflection.rb,
activerecord/lib/active_record/relation.rb,
activerecord/lib/active_record/result.rb,
activerecord/lib/active_record/runtime_registry.rb,
activerecord/lib/active_record/sanitization.rb,
activerecord/lib/active_record/schema.rb,
activerecord/lib/active_record/schema_dumper.rb,
activerecord/lib/active_record/schema_migration.rb,
activerecord/lib/active_record/scoping.rb,
activerecord/lib/active_record/secure_password.rb,
activerecord/lib/active_record/secure_token.rb,
activerecord/lib/active_record/serialization.rb,
activerecord/lib/active_record/signed_id.rb,
activerecord/lib/active_record/statement_cache.rb,
activerecord/lib/active_record/store.rb,
activerecord/lib/active_record/suppressor.rb,
activerecord/lib/active_record/table_metadata.rb,
activerecord/lib/active_record/test_databases.rb,
activerecord/lib/active_record/test_fixtures.rb,
activerecord/lib/active_record/timestamp.rb,
activerecord/lib/active_record/token_for.rb,
activerecord/lib/active_record/touch_later.rb,
activerecord/lib/active_record/transactions.rb,
activerecord/lib/active_record/translation.rb,
activerecord/lib/active_record/type.rb,
activerecord/lib/active_record/type_caster.rb,
activerecord/lib/active_record/validations.rb,
activerecord/lib/active_record/version.rb,
activerecord/lib/active_record/associations/alias_tracker.rb,
activerecord/lib/active_record/associations/association.rb,
activerecord/lib/active_record/associations/association_scope.rb,
activerecord/lib/active_record/associations/belongs_to_association.rb,
activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb,
activerecord/lib/active_record/associations/collection_association.rb,
activerecord/lib/active_record/associations/collection_proxy.rb,
activerecord/lib/active_record/associations/disable_joins_association_scope.rb,
activerecord/lib/active_record/associations/has_many_association.rb,
activerecord/lib/active_record/associations/has_many_through_association.rb,
activerecord/lib/active_record/associations/has_one_association.rb,
activerecord/lib/active_record/associations/has_one_through_association.rb,
activerecord/lib/active_record/associations/join_dependency.rb,
activerecord/lib/active_record/associations/preloader.rb,
activerecord/lib/active_record/associations/singular_association.rb,
activerecord/lib/active_record/associations/through_association.rb,
activerecord/lib/active_record/associations/join_dependency/join_association.rb,
activerecord/lib/active_record/associations/join_dependency/join_base.rb,
activerecord/lib/active_record/associations/join_dependency/join_part.rb,
activerecord/lib/active_record/associations/preloader/association.rb,
activerecord/lib/active_record/associations/preloader/batch.rb,
activerecord/lib/active_record/associations/preloader/branch.rb,
activerecord/lib/active_record/associations/preloader/through_association.rb,
activerecord/lib/active_record/attribute_methods/before_type_cast.rb,
activerecord/lib/active_record/attribute_methods/dirty.rb,
activerecord/lib/active_record/attribute_methods/primary_key.rb,
activerecord/lib/active_record/attribute_methods/query.rb,
activerecord/lib/active_record/attribute_methods/read.rb,
activerecord/lib/active_record/attribute_methods/serialization.rb,
activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb,
activerecord/lib/active_record/attribute_methods/write.rb,
activerecord/lib/active_record/coders/column_serializer.rb,
activerecord/lib/active_record/coders/json.rb,
activerecord/lib/active_record/coders/yaml_column.rb,
activerecord/lib/active_record/connection_adapters/abstract_adapter.rb,
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb,
activerecord/lib/active_record/connection_adapters/column.rb,
activerecord/lib/active_record/connection_adapters/deduplicable.rb,
activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb,
activerecord/lib/active_record/connection_adapters/pool_config.rb,
activerecord/lib/active_record/connection_adapters/pool_manager.rb,
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb,
activerecord/lib/active_record/connection_adapters/schema_cache.rb,
activerecord/lib/active_record/connection_adapters/sql_type_metadata.rb,
activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb,
activerecord/lib/active_record/connection_adapters/statement_pool.rb,
activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_handler.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb,
activerecord/lib/active_record/connection_adapters/abstract/database_limits.rb,
activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb,
activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb,
activerecord/lib/active_record/connection_adapters/abstract/quoting.rb,
activerecord/lib/active_record/connection_adapters/abstract/savepoints.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/abstract/transaction.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb,
activerecord/lib/active_record/connection_adapters/mysql/column.rb,
activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb,
activerecord/lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb,
activerecord/lib/active_record/connection_adapters/mysql/quoting.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb,
activerecord/lib/active_record/connection_adapters/mysql2/database_statements.rb,
activerecord/lib/active_record/connection_adapters/postgresql/column.rb,
activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb,
activerecord/lib/active_record/connection_adapters/postgresql/explain_pretty_printer.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid.rb,
activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb,
activerecord/lib/active_record/connection_adapters/postgresql/referential_integrity.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/postgresql/type_metadata.rb,
activerecord/lib/active_record/connection_adapters/postgresql/utils.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/array.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/bit_varying.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/bytea.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/cidr.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/date.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/decimal.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/enum.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/hstore.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/inet.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/interval.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/legacy_point.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/macaddr.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/money.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/oid.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/point.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/range.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/specialized_string.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/timestamp.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/type_map_initializer.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/xml.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/column.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/database_statements.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/trilogy/database_statements.rb,
activerecord/lib/active_record/database_configurations/connection_url_resolver.rb,
activerecord/lib/active_record/database_configurations/database_config.rb,
activerecord/lib/active_record/database_configurations/hash_config.rb,
activerecord/lib/active_record/database_configurations/url_config.rb,
activerecord/lib/active_record/encryption/auto_filtered_parameters.rb,
activerecord/lib/active_record/encryption/cipher.rb,
activerecord/lib/active_record/encryption/config.rb,
activerecord/lib/active_record/encryption/configurable.rb,
activerecord/lib/active_record/encryption/context.rb,
activerecord/lib/active_record/encryption/contexts.rb,
activerecord/lib/active_record/encryption/derived_secret_key_provider.rb,
activerecord/lib/active_record/encryption/deterministic_key_provider.rb,
activerecord/lib/active_record/encryption/encryptable_record.rb,
activerecord/lib/active_record/encryption/encrypted_attribute_type.rb,
activerecord/lib/active_record/encryption/encrypted_fixtures.rb,
activerecord/lib/active_record/encryption/encrypting_only_encryptor.rb,
activerecord/lib/active_record/encryption/encryptor.rb,
activerecord/lib/active_record/encryption/envelope_encryption_key_provider.rb,
activerecord/lib/active_record/encryption/errors.rb,
activerecord/lib/active_record/encryption/extended_deterministic_queries.rb,
activerecord/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb,
activerecord/lib/active_record/encryption/key.rb,
activerecord/lib/active_record/encryption/key_generator.rb,
activerecord/lib/active_record/encryption/key_provider.rb,
activerecord/lib/active_record/encryption/message.rb,
activerecord/lib/active_record/encryption/message_serializer.rb,
activerecord/lib/active_record/encryption/null_encryptor.rb,
activerecord/lib/active_record/encryption/properties.rb,
activerecord/lib/active_record/encryption/read_only_null_encryptor.rb,
activerecord/lib/active_record/encryption/scheme.rb,
activerecord/lib/active_record/encryption/cipher/aes256_gcm.rb,
activerecord/lib/active_record/fixture_set/file.rb,
activerecord/lib/active_record/fixture_set/model_metadata.rb,
activerecord/lib/active_record/fixture_set/table_row.rb,
activerecord/lib/active_record/fixture_set/table_rows.rb,
activerecord/lib/active_record/locking/optimistic.rb,
activerecord/lib/active_record/locking/pessimistic.rb,
activerecord/lib/active_record/middleware/database_selector.rb,
activerecord/lib/active_record/middleware/shard_selector.rb,
activerecord/lib/active_record/middleware/database_selector/resolver.rb,
activerecord/lib/active_record/middleware/database_selector/resolver/session.rb,
activerecord/lib/active_record/migration/command_recorder.rb,
activerecord/lib/active_record/migration/compatibility.rb,
activerecord/lib/active_record/migration/default_strategy.rb,
activerecord/lib/active_record/migration/execution_strategy.rb,
activerecord/lib/active_record/migration/join_table.rb,
activerecord/lib/active_record/migration/pending_migration_connection.rb,
activerecord/lib/active_record/railties/controller_runtime.rb,
activerecord/lib/active_record/railties/job_runtime.rb,
activerecord/lib/active_record/relation/batches.rb,
activerecord/lib/active_record/relation/calculations.rb,
activerecord/lib/active_record/relation/delegation.rb,
activerecord/lib/active_record/relation/finder_methods.rb,
activerecord/lib/active_record/relation/from_clause.rb,
activerecord/lib/active_record/relation/merger.rb,
activerecord/lib/active_record/relation/predicate_builder.rb,
activerecord/lib/active_record/relation/query_attribute.rb,
activerecord/lib/active_record/relation/query_methods.rb,
activerecord/lib/active_record/relation/record_fetch_warning.rb,
activerecord/lib/active_record/relation/spawn_methods.rb,
activerecord/lib/active_record/relation/where_clause.rb,
activerecord/lib/active_record/relation/batches/batch_enumerator.rb,
activerecord/lib/active_record/relation/predicate_builder/array_handler.rb,
activerecord/lib/active_record/relation/predicate_builder/association_query_value.rb,
activerecord/lib/active_record/relation/predicate_builder/basic_object_handler.rb,
activerecord/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb,
activerecord/lib/active_record/relation/predicate_builder/range_handler.rb,
activerecord/lib/active_record/relation/predicate_builder/relation_handler.rb,
activerecord/lib/active_record/scoping/default.rb,
activerecord/lib/active_record/scoping/named.rb,
activerecord/lib/active_record/tasks/database_tasks.rb,
activerecord/lib/active_record/tasks/mysql_database_tasks.rb,
activerecord/lib/active_record/tasks/postgresql_database_tasks.rb,
activerecord/lib/active_record/tasks/sqlite_database_tasks.rb,
activerecord/lib/active_record/type/adapter_specific_registry.rb,
activerecord/lib/active_record/type/date.rb,
activerecord/lib/active_record/type/date_time.rb,
activerecord/lib/active_record/type/decimal_without_scale.rb,
activerecord/lib/active_record/type/hash_lookup_type_map.rb,
activerecord/lib/active_record/type/json.rb,
activerecord/lib/active_record/type/serialized.rb,
activerecord/lib/active_record/type/text.rb,
activerecord/lib/active_record/type/time.rb,
activerecord/lib/active_record/type/type_map.rb,
activerecord/lib/active_record/type/unsigned_integer.rb,
activerecord/lib/active_record/type/internal/timezone.rb,
activerecord/lib/active_record/type_caster/connection.rb,
activerecord/lib/active_record/type_caster/map.rb,
activerecord/lib/active_record/validations/absence.rb,
activerecord/lib/active_record/validations/associated.rb,
activerecord/lib/active_record/validations/length.rb,
activerecord/lib/active_record/validations/numericality.rb,
activerecord/lib/active_record/validations/presence.rb,
activerecord/lib/active_record/validations/uniqueness.rb,
activerecord/lib/rails/generators/active_record.rb,
activerecord/lib/rails/generators/active_record/migration.rb,
activerecord/lib/rails/generators/active_record/application_record/application_record_generator.rb,
activerecord/lib/rails/generators/active_record/migration/migration_generator.rb,
activerecord/lib/rails/generators/active_record/model/model_generator.rb,
activerecord/lib/rails/generators/active_record/multi_db/multi_db_generator.rb

Overview

Constant Summary

Class Attribute Summary

Class Method Summary

::ActiveSupport::Autoload - Extended

Instance Attribute Summary

Class Attribute Details

.db_warnings_action=(action) (writeonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 211

def self.db_warnings_action=(action)
  @db_warnings_action =
    case action
    when :ignore
      nil
    when :log
      ->(warning) do
        warning_message = "[#{warning.class}] #{warning.message}"
        warning_message += " (#{warning.code})" if warning.code
        ActiveRecord::Base.logger.warn(warning_message)
      end
    when :raise
      ->(warning) { raise warning }
    when :report
      ->(warning) { Rails.error.report(warning, handled: true) }
    when Proc
      action
    else
      raise ArgumentError, "db_warnings_action must be one of :ignore, :log, :raise, :report, or a custom proc."
    end
end

.default_timezone=(default_timezone) (writeonly)

Determines whether to use Time.utc (using :utc) or Time.local (using :local) when pulling dates and times from the database. This is set to :utc by default.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 196

def self.default_timezone=(default_timezone)
  unless %i(local utc).include?(default_timezone)
    raise ArgumentError, "default_timezone must be either :utc (default) or :local."
  end

  @default_timezone = default_timezone
end

.global_executor_concurrency (rw)

This method is for internal use only.
[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 286

def self.global_executor_concurrency # :nodoc:
  @global_executor_concurrency ||= nil
end

.global_executor_concurrency=(global_executor_concurrency) (rw)

Set the .global_executor_concurrency. This configuration value can only be used with the global thread pool async query executor.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 278

def self.global_executor_concurrency=(global_executor_concurrency)
  if self.async_query_executor.nil? || self.async_query_executor == :multi_thread_pool
    raise ArgumentError, "`global_executor_concurrency` cannot be set when using the executor is nil or set to multi_thead_pool. For multiple thread pools, please set the concurrency in your database configuration."
  end

  @global_executor_concurrency = global_executor_concurrency
end

.legacy_connection_handling=(_) (writeonly)

Raises:

  • (ArgumentError)
[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 245

def self.legacy_connection_handling=(_)
  raise ArgumentError, <<~MSG.squish
    The `legacy_connection_handling` setter was deprecated in 7.0 and removed in 7.1,
    but is still defined in your configuration. Please remove this call as it no longer
    has any effect."
  MSG
end

.marshalling_format_version (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 457

def self.marshalling_format_version
  Marshalling.format_version
end

.marshalling_format_version=(value) (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 461

def self.marshalling_format_version=(value)
  Marshalling.format_version = value
end

.suppress_multiple_database_warning (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 395

def self.suppress_multiple_database_warning
  ActiveRecord.deprecator.warn(<<-MSG.squish)
    config.active_record.suppress_multiple_database_warning is deprecated and will be removed in Rails 7.2.
    It no longer has any effect and should be removed from the configuration file.
  MSG
end

.suppress_multiple_database_warning=(value) (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 402

def self.suppress_multiple_database_warning=(value)
  ActiveRecord.deprecator.warn(<<-MSG.squish)
    config.active_record.suppress_multiple_database_warning= is deprecated and will be removed in Rails 7.2.
    It no longer has any effect and should be removed from the configuration file.
  MSG
end

Class Method Details

.deprecator

This method is for internal use only.
[ GitHub ]

  
# File 'activerecord/lib/active_record/deprecator.rb', line 4

def self.deprecator # :nodoc:
  @deprecator ||= ActiveSupport::Deprecation.new
end

.disconnect_all!

Explicitly closes all database connections in all pools.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 476

def self.disconnect_all!
  ConnectionAdapters::PoolConfig.disconnect_all!
end

.eager_load!

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 465

def self.eager_load!
  super
  ActiveRecord::Locking.eager_load!
  ActiveRecord::Scoping.eager_load!
  ActiveRecord::Associations.eager_load!
  ActiveRecord::AttributeMethods.eager_load!
  ActiveRecord::ConnectionAdapters.eager_load!
  ActiveRecord::Encryption.eager_load!
end

.gem_version

Returns the currently loaded version of Active Record as a Gem::Version.

[ GitHub ]

  
# File 'activerecord/lib/active_record/gem_version.rb', line 5

def self.gem_version
  Gem::Version.new VERSION::STRING
end

.global_thread_pool_async_query_executor

This method is for internal use only.
[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 266

def self.global_thread_pool_async_query_executor # :nodoc:
  concurrency = global_executor_concurrency || 4
  @global_thread_pool_async_query_executor ||= Concurrent::ThreadPoolExecutor.new(
    min_threads: 0,
    max_threads: concurrency,
    max_queue: concurrency * 4,
    fallback_policy: :caller_runs
  )
end

.version

Returns the currently loaded version of Active Record as a Gem::Version.

[ GitHub ]

  
# File 'activerecord/lib/active_record/version.rb', line 7

def self.version
  gem_version
end

Instance Attribute Details

#action_on_strict_loading_violation (rw)

:singleton-method: Set the application to log or raise when an association violates strict loading. Defaults to :raise.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 342

singleton_class.attr_accessor :action_on_strict_loading_violation

#allow_deprecated_singular_associations_name (rw)

:singleton-method: If true, ::Rails will continue allowing plural association names in where clauses on singular associations This behavior will be removed in ::Rails 7.2.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 422

singleton_class.attr_accessor :allow_deprecated_singular_associations_name

#application_record_class (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 335

singleton_class.attr_accessor :application_record_class

#async_query_executor (rw)

Sets the async_query_executor for an application. By default the thread pool executor set to nil which will not run queries in the background. Applications must configure a thread pool executor to use this feature. Options are:

* nil - Does not initialize a thread pool executor. Any async calls will be
run in the foreground.
* :global_thread_pool - Initializes a single Concurrent::ThreadPoolExecutor
that uses the async_query_concurrency for the max_threads value.
* :multi_thread_pool - Initializes a Concurrent::ThreadPoolExecutor for each
database connection. The initializer values are defined in the configuration hash.
[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 263

singleton_class.attr_accessor :async_query_executor

#before_committed_on_all_records (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 317

singleton_class.attr_accessor :before_committed_on_all_records

#belongs_to_required_validates_foreign_key (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 314

singleton_class.attr_accessor :belongs_to_required_validates_foreign_key

#commit_transaction_on_non_local_return (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 323

singleton_class.attr_accessor :commit_transaction_on_non_local_return

#db_warnings_action (readonly)

The action to take when database query produces warning. Must be one of :ignore, :log, :raise, :report, or a custom proc. The default is :ignore.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 209

singleton_class.attr_reader :db_warnings_action

#db_warnings_ignore (rw)

Specify allowlist of database warnings.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 236

singleton_class.attr_accessor :db_warnings_ignore

#default_timezone (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 192

singleton_class.attr_reader :default_timezone

#disable_prepared_statements (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 177

singleton_class.attr_accessor :disable_prepared_statements

#dump_schema_after_migration (rw)

:singleton-method: Specify whether schema dump should happen at the end of the bin/rails db:migrate command. This is true by default, which is useful for the development environment. This should ideally be false in the production environment where dumping schema is rarely needed.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 382

singleton_class.attr_accessor :dump_schema_after_migration

#dump_schemas (rw)

:singleton-method: Specifies which database schemas to dump when calling db:schema:dump. If the value is :schema_search_path (the default), any schemas listed in schema_search_path are dumped. Use :all to dump all schemas regardless of schema_search_path, or a string of comma separated schemas for a custom list.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 392

singleton_class.attr_accessor :dump_schemas

#error_on_ignored_order (rw)

:singleton-method: Specifies if an error should be raised if the query has an order being ignored when doing batch queries. Useful in applications where the scope being ignored is error-worthy, rather than a warning.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 361

singleton_class.attr_accessor :error_on_ignored_order

#generate_secure_token_on (rw)

:singleton-method: Controls when to generate a value for has_secure_token declarations. Defaults to :create.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 454

singleton_class.attr_accessor :generate_secure_token_on

#index_nested_attribute_errors (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 290

singleton_class.attr_accessor :index_nested_attribute_errors

#lazily_load_schema_cache (rw)

Lazily load the schema cache. This option will load the schema cache when a connection is established rather than on boot. If set, config.active_record.use_schema_cache_dump will be set to false.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 183

singleton_class.attr_accessor :lazily_load_schema_cache

#maintain_test_schema (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 308

singleton_class.attr_accessor :maintain_test_schema

#migration_strategy (rw)

:singleton-method: Specify strategy to use for executing migrations.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 373

singleton_class.attr_accessor :migration_strategy

#query_transformers (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 425

singleton_class.attr_accessor :query_transformers

#queues (rw)

:singleton-method:

Specifies the names of the queues used by background jobs.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 305

singleton_class.attr_accessor :queues

#raise_int_wider_than_64bit (rw)

:singleton-method: Application configurable boolean that denotes whether or not to raise an exception when the PostgreSQLAdapter is provided with an integer that is wider than signed 64bit representation

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 440

singleton_class.attr_accessor :raise_int_wider_than_64bit

#raise_on_assign_to_attr_readonly (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 311

singleton_class.attr_accessor :raise_on_assign_to_attr_readonly

#reading_role (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 242

singleton_class.attr_accessor :reading_role

#run_after_transaction_callbacks_in_order_defined (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 320

singleton_class.attr_accessor :run_after_transaction_callbacks_in_order_defined

#schema_cache_ignored_tables (rw)

A list of tables or regex’s to match tables to ignore when dumping the schema cache. For example if this is set to [/^_/] the schema cache will not dump tables named with an underscore.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 189

singleton_class.attr_accessor :schema_cache_ignored_tables

#schema_format (rw)

:singleton-method: Specifies the format to use when dumping the database schema with Rails’ Rakefile. If :sql, the schema is dumped as (potentially database- specific) SQL statements. If :ruby, the schema is dumped as an ::ActiveRecord::Schema file which can be loaded into any database that supports migrations. Use :ruby if you want to have different database adapters for, e.g., your development and test environments.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 353

singleton_class.attr_accessor :schema_format

#timestamped_migrations (rw)

:singleton-method: Specify whether or not to use timestamps for migration versions

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 367

singleton_class.attr_accessor :timestamped_migrations

#use_yaml_unsafe_load (rw)

:singleton-method: Application configurable boolean that instructs the YAML Coder to use an unsafe load if set to true.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 432

singleton_class.attr_accessor :use_yaml_unsafe_load

#verbose_query_logs (rw)

:singleton-method:

Specifies if the methods calling database queries should be logged below their relevant queries. Defaults to false.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 298

singleton_class.attr_accessor :verbose_query_logs

#verify_foreign_keys_for_fixtures (rw)

:singleton-method: If true, ::Rails will verify all foreign keys in the database after loading fixtures. An error will be raised if there are any foreign key violations, indicating incorrectly written fixtures. Supported by PostgreSQL and SQLite.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 415

singleton_class.attr_accessor :verify_foreign_keys_for_fixtures

#warn_on_records_fetched_greater_than (rw)

:singleton-method: Specify a threshold for the size of query result sets. If the number of records in the set exceeds the threshold, a warning is logged. This can be used to identify queries which load thousands of records and potentially cause memory bloat.

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 332

singleton_class.attr_accessor :warn_on_records_fetched_greater_than

#writing_role (rw)

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 239

singleton_class.attr_accessor :writing_role

#yaml_column_permitted_classes (rw)

:singleton-method: Application configurable array that provides additional permitted classes to Psych safe_load in the YAML Coder

[ GitHub ]

  
# File 'activerecord/lib/active_record.rb', line 447

singleton_class.attr_accessor :yaml_column_permitted_classes