Module: ActiveRecord
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- activerecord/lib/active_record.rb,
activerecord/lib/active_record/base.rb,
activerecord/lib/active_record/core.rb,
activerecord/lib/active_record/enum.rb,
activerecord/lib/active_record/type.rb,
activerecord/lib/active_record/store.rb,
activerecord/lib/active_record/errors.rb,
activerecord/lib/active_record/result.rb,
activerecord/lib/active_record/schema.rb,
activerecord/lib/active_record/explain.rb,
activerecord/lib/active_record/promise.rb,
activerecord/lib/active_record/railtie.rb,
activerecord/lib/active_record/scoping.rb,
activerecord/lib/active_record/version.rb,
activerecord/lib/active_record/fixtures.rb,
activerecord/lib/active_record/querying.rb,
activerecord/lib/active_record/relation.rb,
activerecord/lib/active_record/callbacks.rb,
activerecord/lib/active_record/migration.rb,
activerecord/lib/active_record/signed_id.rb,
activerecord/lib/active_record/timestamp.rb,
activerecord/lib/active_record/token_for.rb,
activerecord/lib/active_record/type/date.rb,
activerecord/lib/active_record/type/json.rb,
activerecord/lib/active_record/type/text.rb,
activerecord/lib/active_record/type/time.rb,
activerecord/lib/active_record/attributes.rb,
activerecord/lib/active_record/deprecator.rb,
activerecord/lib/active_record/encryption.rb,
activerecord/lib/active_record/insert_all.rb,
activerecord/lib/active_record/query_logs.rb,
activerecord/lib/active_record/reflection.rb,
activerecord/lib/active_record/suppressor.rb,
activerecord/lib/active_record/coders/json.rb,
activerecord/lib/active_record/gem_version.rb,
activerecord/lib/active_record/inheritance.rb,
activerecord/lib/active_record/integration.rb,
activerecord/lib/active_record/marshalling.rb,
activerecord/lib/active_record/no_touching.rb,
activerecord/lib/active_record/persistence.rb,
activerecord/lib/active_record/query_cache.rb,
activerecord/lib/active_record/touch_later.rb,
activerecord/lib/active_record/transaction.rb,
activerecord/lib/active_record/translation.rb,
activerecord/lib/active_record/type_caster.rb,
activerecord/lib/active_record/validations.rb,
activerecord/lib/active_record/aggregations.rb,
activerecord/lib/active_record/associations.rb,
activerecord/lib/active_record/message_pack.rb,
activerecord/lib/active_record/model_schema.rb,
activerecord/lib/active_record/sanitization.rb,
activerecord/lib/active_record/secure_token.rb,
activerecord/lib/active_record/transactions.rb,
activerecord/lib/active_record/counter_cache.rb,
activerecord/lib/active_record/future_result.rb,
activerecord/lib/active_record/schema_dumper.rb,
activerecord/lib/active_record/scoping/named.rb,
activerecord/lib/active_record/serialization.rb,
activerecord/lib/active_record/test_fixtures.rb,
activerecord/lib/active_record/type/type_map.rb,
activerecord/lib/active_record/delegated_type.rb,
activerecord/lib/active_record/encryption/key.rb,
activerecord/lib/active_record/log_subscriber.rb,
activerecord/lib/active_record/table_metadata.rb,
activerecord/lib/active_record/test_databases.rb,
activerecord/lib/active_record/type/date_time.rb,
activerecord/lib/active_record/relation/merger.rb,
activerecord/lib/active_record/scoping/default.rb,
activerecord/lib/active_record/secure_password.rb,
activerecord/lib/active_record/statement_cache.rb,
activerecord/lib/active_record/type/serialized.rb,
activerecord/lib/active_record/type_caster/map.rb,
activerecord/lib/active_record/dynamic_matchers.rb,
activerecord/lib/active_record/explain_registry.rb,
activerecord/lib/active_record/fixture_set/file.rb,
activerecord/lib/active_record/relation/batches.rb,
activerecord/lib/active_record/runtime_registry.rb,
activerecord/lib/active_record/schema_migration.rb,
activerecord/lib/rails/generators/active_record.rb,
activerecord/lib/active_record/attribute_methods.rb,
activerecord/lib/active_record/encryption/cipher.rb,
activerecord/lib/active_record/encryption/config.rb,
activerecord/lib/active_record/encryption/errors.rb,
activerecord/lib/active_record/encryption/scheme.rb,
activerecord/lib/active_record/internal_metadata.rb,
activerecord/lib/active_record/nested_attributes.rb,
activerecord/lib/active_record/coders/yaml_column.rb,
activerecord/lib/active_record/encryption/context.rb,
activerecord/lib/active_record/encryption/message.rb,
activerecord/lib/active_record/explain_subscriber.rb,
activerecord/lib/active_record/locking/optimistic.rb,
activerecord/lib/active_record/validations/length.rb,
activerecord/lib/active_record/associations/errors.rb,
activerecord/lib/active_record/connection_adapters.rb,
activerecord/lib/active_record/connection_handling.rb,
activerecord/lib/active_record/encryption/contexts.rb,
activerecord/lib/active_record/legacy_yaml_adapter.rb,
activerecord/lib/active_record/locking/pessimistic.rb,
activerecord/lib/active_record/readonly_attributes.rb,
activerecord/lib/active_record/relation/delegation.rb,
activerecord/lib/active_record/validations/absence.rb,
activerecord/lib/active_record/association_relation.rb,
activerecord/lib/active_record/attribute_assignment.rb,
activerecord/lib/active_record/autosave_association.rb,
activerecord/lib/active_record/encryption/encryptor.rb,
activerecord/lib/active_record/migration/join_table.rb,
activerecord/lib/active_record/query_logs_formatter.rb,
activerecord/lib/active_record/railties/job_runtime.rb,
activerecord/lib/active_record/relation/from_clause.rb,
activerecord/lib/active_record/tasks/abstract_tasks.rb,
activerecord/lib/active_record/tasks/database_tasks.rb,
activerecord/lib/active_record/validations/presence.rb,
activerecord/lib/active_record/encryption/properties.rb,
activerecord/lib/active_record/fixture_set/table_row.rb,
activerecord/lib/active_record/relation/calculations.rb,
activerecord/lib/active_record/relation/where_clause.rb,
activerecord/lib/active_record/type/unsigned_integer.rb,
activerecord/lib/active_record/associations/preloader.rb,
activerecord/lib/active_record/attribute_methods/read.rb,
activerecord/lib/active_record/fixture_set/table_rows.rb,
activerecord/lib/active_record/relation/query_methods.rb,
activerecord/lib/active_record/relation/spawn_methods.rb,
activerecord/lib/active_record/type/internal/timezone.rb,
activerecord/lib/active_record/type_caster/connection.rb,
activerecord/lib/active_record/validations/associated.rb,
activerecord/lib/active_record/validations/uniqueness.rb,
activerecord/lib/active_record/attribute_methods/dirty.rb,
activerecord/lib/active_record/attribute_methods/query.rb,
activerecord/lib/active_record/attribute_methods/write.rb,
activerecord/lib/active_record/database_configurations.rb,
activerecord/lib/active_record/encryption/configurable.rb,
activerecord/lib/active_record/encryption/key_provider.rb,
activerecord/lib/active_record/migration/compatibility.rb,
activerecord/lib/active_record/relation/finder_methods.rb,
activerecord/lib/active_record/associations/association.rb,
activerecord/lib/active_record/coders/column_serializer.rb,
activerecord/lib/active_record/encryption/key_generator.rb,
activerecord/lib/active_record/filter_attribute_handler.rb,
activerecord/lib/active_record/railties/job_checkpoints.rb,
activerecord/lib/active_record/relation/query_attribute.rb,
activerecord/lib/active_record/testing/query_assertions.rb,
activerecord/lib/active_record/validations/numericality.rb,
activerecord/lib/active_record/associations/nested_error.rb,
activerecord/lib/active_record/encryption/null_encryptor.rb,
activerecord/lib/active_record/middleware/shard_selector.rb,
activerecord/lib/active_record/type/hash_lookup_type_map.rb,
activerecord/lib/active_record/associations/alias_tracker.rb,
activerecord/lib/active_record/connection_adapters/column.rb,
activerecord/lib/active_record/fixture_set/model_metadata.rb,
activerecord/lib/active_record/migration/command_recorder.rb,
activerecord/lib/active_record/migration/default_strategy.rb,
activerecord/lib/active_record/relation/predicate_builder.rb,
activerecord/lib/active_record/tasks/mysql_database_tasks.rb,
activerecord/lib/active_record/type/decimal_without_scale.rb,
activerecord/lib/rails/generators/active_record/migration.rb,
activerecord/lib/active_record/railties/controller_runtime.rb,
activerecord/lib/active_record/tasks/sqlite_database_tasks.rb,
activerecord/lib/active_record/associations/join_dependency.rb,
activerecord/lib/active_record/associations/preloader/batch.rb,
activerecord/lib/active_record/asynchronous_queries_tracker.rb,
activerecord/lib/active_record/encryption/cipher/aes256_gcm.rb,
activerecord/lib/active_record/middleware/database_selector.rb,
activerecord/lib/active_record/migration/execution_strategy.rb,
activerecord/lib/active_record/associations/collection_proxy.rb,
activerecord/lib/active_record/associations/preloader/branch.rb,
activerecord/lib/active_record/attribute_methods/primary_key.rb,
activerecord/lib/active_record/destroy_association_async_job.rb,
activerecord/lib/active_record/encryption/encryptable_record.rb,
activerecord/lib/active_record/encryption/encrypted_fixtures.rb,
activerecord/lib/active_record/encryption/message_serializer.rb,
activerecord/lib/active_record/associations/association_scope.rb,
activerecord/lib/active_record/type/adapter_specific_registry.rb,
activerecord/lib/active_record/attribute_methods/serialization.rb,
activerecord/lib/active_record/connection_adapters/pool_config.rb,
activerecord/lib/active_record/tasks/postgresql_database_tasks.rb,
activerecord/lib/active_record/associations/has_one_association.rb,
activerecord/lib/active_record/associations/through_association.rb,
activerecord/lib/active_record/connection_adapters/deduplicable.rb,
activerecord/lib/active_record/connection_adapters/mysql/column.rb,
activerecord/lib/active_record/connection_adapters/pool_manager.rb,
activerecord/lib/active_record/connection_adapters/schema_cache.rb,
activerecord/lib/active_record/associations/has_many_association.rb,
activerecord/lib/active_record/associations/singular_association.rb,
activerecord/lib/active_record/connection_adapters/mysql/quoting.rb,
activerecord/lib/active_record/relation/batches/batch_enumerator.rb,
activerecord/lib/active_record/associations/preloader/association.rb,
activerecord/lib/active_record/attribute_methods/before_type_cast.rb,
activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/column.rb,
activerecord/lib/active_record/connection_adapters/statement_pool.rb,
activerecord/lib/active_record/database_configurations/url_config.rb,
activerecord/lib/active_record/disable_joins_association_relation.rb,
activerecord/lib/active_record/associations/belongs_to_association.rb,
activerecord/lib/active_record/associations/collection_association.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb,
activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb,
activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb,
activerecord/lib/active_record/database_configurations/hash_config.rb,
activerecord/lib/active_record/encryption/auto_filtered_parameters.rb,
activerecord/lib/active_record/encryption/encrypted_attribute_type.rb,
activerecord/lib/active_record/encryption/read_only_null_encryptor.rb,
activerecord/lib/active_record/connection_adapters/abstract/quoting.rb,
activerecord/lib/active_record/connection_adapters/abstract_adapter.rb,
activerecord/lib/active_record/connection_adapters/postgresql/utils.rb,
activerecord/lib/active_record/encryption/encrypting_only_encryptor.rb,
activerecord/lib/active_record/connection_adapters/postgresql/column.rb,
activerecord/lib/active_record/connection_adapters/sql_type_metadata.rb,
activerecord/lib/active_record/encryption/deterministic_key_provider.rb,
activerecord/lib/active_record/middleware/database_selector/resolver.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/attribute_methods/time_zone_conversion.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/oid.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/xml.rb,
activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb,
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb,
activerecord/lib/active_record/encryption/derived_secret_key_provider.rb,
activerecord/lib/active_record/migration/pending_migration_connection.rb,
activerecord/lib/rails/generators/active_record/model/model_generator.rb,
activerecord/lib/active_record/attribute_methods/composite_primary_key.rb,
activerecord/lib/active_record/connection_adapters/abstract/savepoints.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/mysql/type_metadata.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/enum.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/inet.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb,
activerecord/lib/active_record/database_configurations/database_config.rb,
activerecord/lib/active_record/associations/has_one_through_association.rb,
activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb,
activerecord/lib/active_record/connection_adapters/abstract/transaction.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/array.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/bytea.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/money.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/relation/predicate_builder/array_handler.rb,
activerecord/lib/active_record/relation/predicate_builder/range_handler.rb,
activerecord/lib/active_record/associations/has_many_through_association.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/hstore.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_dumper.rb,
activerecord/lib/active_record/encryption/extended_deterministic_queries.rb,
activerecord/lib/active_record/associations/preloader/through_association.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/decimal.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/macaddr.rb,
activerecord/lib/active_record/encryption/message_pack_message_serializer.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/interval.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_creation.rb,
activerecord/lib/active_record/encryption/envelope_encryption_key_provider.rb,
activerecord/lib/active_record/migration/default_schema_versions_formatter.rb,
activerecord/lib/active_record/relation/predicate_builder/relation_handler.rb,
activerecord/lib/active_record/associations/disable_joins_association_scope.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/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/timestamp.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_dumper.rb,
activerecord/lib/active_record/connection_adapters/postgresql/type_metadata.rb,
activerecord/lib/rails/generators/active_record/multi_db/multi_db_generator.rb,
activerecord/lib/active_record/associations/join_dependency/join_association.rb,
activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb,
activerecord/lib/active_record/middleware/database_selector/resolver/session.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/mysql2/database_statements.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/bit_varying.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_creation.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb,
activerecord/lib/rails/generators/active_record/migration/migration_generator.rb,
activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_handler.rb,
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/legacy_point.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/database_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/relation/predicate_builder/basic_object_handler.rb,
activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb,
activerecord/lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb,
activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb,
activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb,
activerecord/lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb,
activerecord/lib/active_record/relation/predicate_builder/association_query_value.rb,
activerecord/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb,
activerecord/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb,
activerecord/lib/active_record/connection_adapters/postgresql/referential_integrity.rb,
activerecord/lib/active_record/connection_adapters/postgresql/explain_pretty_printer.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/specialized_string.rb,
activerecord/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/type_map_initializer.rb,
activerecord/lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb,
activerecord/lib/rails/generators/active_record/application_record/application_record_generator.rb
Overview
:markup: markdown
Defined Under Namespace
Modules: Aggregations, Assertions, Associations, AttributeAssignment, AttributeMethods, Attributes, AutosaveAssociation, Batches, Calculations, Callbacks, Coders, ConnectionAdapters, ConnectionHandling, Core, CounterCache, DelegatedType, Delegation, DynamicMatchers, Encryption, Enum, Explain, FinderMethods, Generators, Inheritance, Integration, LegacyYamlAdapter, Locking, Marshalling, MessagePack, Middleware, ModelSchema, NestedAttributes, NoTouching, Persistence, QueryLogs, QueryMethods, Querying, Railties, ReadonlyAttributes, Reflection, RuntimeRegistry, Sanitization, Scoping, SecurePassword, SecureToken, Serialization, SignedId, SpawnMethods, Store, Suppressor, Tasks, TestDatabases, TestFixtures, Timestamp, TokenFor, TouchLater, Transactions, Translation, Type, TypeCaster, VERSION, Validations Classes: ActiveRecordError, AdapterError, AdapterNotFound, AdapterNotSpecified, AdapterTimeout, AmbiguousSourceReflectionForThroughAssociation, AssociationNotFoundError, AssociationRelation, AssociationTypeMismatch, AsynchronousQueriesTracker, AsynchronousQueryInsideTransactionError, AttributeAssignmentError, Base, CheckViolation, CompositePrimaryKeyMismatchError, ConcurrentMigrationError, ConfigurationError, ConnectionFailed, ConnectionNotDefined, ConnectionNotEstablished, ConnectionTimeoutError, DangerousAttributeError, DatabaseAlreadyExists, DatabaseConfigurations, DatabaseConnectionError, DatabaseVersionError, Deadlocked, DeleteRestrictionError, DeprecatedAssociationError, DestroyAssociationAsyncError, DestroyAssociationAsyncJob, DisableJoinsAssociationRelation, DuplicateMigrationNameError, DuplicateMigrationVersionError, EagerLoadPolymorphicError, EnvironmentMismatchError, EnvironmentStorageError, ExclusionViolation, ExclusiveConnectionTimeoutError, ExplainRegistry, ExplainSubscriber, FilterAttributeHandler, Fixture, FixtureClassNotFound, FixtureSet, FutureResult, HasManyThroughAssociationNotFoundError, HasManyThroughAssociationPointlessSourceTypeError, HasManyThroughAssociationPolymorphicSourceError, HasManyThroughAssociationPolymorphicThroughError, HasManyThroughCantAssociateThroughHasOneOrManyReflection, HasManyThroughNestedAssociationsAreReadonly, HasManyThroughOrderError, HasManyThroughSourceAssociationNotFoundError, HasOneAssociationPolymorphicThroughError, HasOneThroughCantAssociateThroughCollection, HasOneThroughCantAssociateThroughHasOneOrManyReflection, HasOneThroughNestedAssociationsAreReadonly, IllegalMigrationNameError, InsertAll, InternalMetadata, InvalidForeignKey, InvalidMigrationTimestampError, InverseOfAssociationNotFoundError, InverseOfAssociationRecursiveError, IrreversibleMigration, IrreversibleOrderError, LockWaitTimeout, LogSubscriber, Migration, MigrationContext, MigrationError, MigrationProxy, Migrator, MismatchedForeignKey, MissingRequiredOrderError, MultiparameterAssignmentErrors, NoDatabaseError, NoEnvironmentInSchemaError, NotNullViolation, PendingMigrationConnection, PendingMigrationError, Point, PredicateBuilder, PreparedStatementCacheExpired, PreparedStatementInvalid, Promise, ProtectedEnvironmentError, QueryAborted, QueryCache, QueryCanceled, Railtie, RangeError, ReadOnlyError, ReadOnlyRecord, ReadonlyAttributeError, RecordInvalid, RecordNotDestroyed, RecordNotFound, RecordNotSaved, RecordNotUnique, Relation, Result, Rollback, SQLWarning, Schema, SchemaDumper, SchemaMigration, SerializationFailure, SerializationTypeMismatch, SoleRecordExceeded, StaleObjectError, StatementCache, StatementInvalid, StatementTimeout, StrictLoadingViolationError, SubclassNotFound, TableMetadata, TableNotSpecified, ThroughCantAssociateThroughHasOneOrManyReflection, ThroughNestedAssociationsAreReadonly, Transaction, TransactionIsolationError, TransactionRollbackError, TypeConflictError, UnknownAttributeReference, UnknownMigrationVersionError, UnknownPrimaryKey, UnmodifiableRelation, ValueTooLong, WrappedDatabaseException
Constant Summary collapse
- UnknownAttributeError =
Raised when unknown attributes are supplied via mass assignment.
ActiveModel::UnknownAttributeError
Instance Attribute Summary collapse
-
#action_on_strict_loading_violation ⇒ Object
:singleton-method: action_on_strict_loading_violation Set the application to log or raise when an association violates strict loading.
-
#application_record_class ⇒ Object
Returns the value of attribute application_record_class.
-
#async_query_executor ⇒ Object
:singleton-method: async_query_executor Sets the async_query_executor for an application.
-
#before_committed_on_all_records ⇒ Object
Returns the value of attribute before_committed_on_all_records.
-
#belongs_to_required_validates_foreign_key ⇒ Object
Returns the value of attribute belongs_to_required_validates_foreign_key.
-
#database_cli ⇒ Object
Returns the value of attribute database_cli.
-
#db_warnings_action ⇒ Object
readonly
:singleton-method: db_warnings_action The action to take when database query produces warning.
-
#db_warnings_ignore ⇒ Object
:singleton-method: db_warnings_ignore Specify allowlist of database warnings.
-
#default_timezone ⇒ Object
readonly
Returns the value of attribute default_timezone.
-
#disable_prepared_statements ⇒ Object
Returns the value of attribute disable_prepared_statements.
-
#dump_schema_after_migration ⇒ Object
:singleton-method: dump_schema_after_migration Specify whether schema dump should happen at the end of the bin/rails db:migrate command.
-
#dump_schemas ⇒ Object
:singleton-method: dump_schemas Specifies which database schemas to dump when calling db:schema:dump.
-
#error_on_ignored_order ⇒ Object
:singleton-method: error_on_ignored_order Specifies if an error should be raised if the query has an order being ignored when doing batch queries.
-
#generate_secure_token_on ⇒ Object
:singleton-method: generate_secure_token_on Controls when to generate a value for
has_secure_token
declarations. -
#index_nested_attribute_errors ⇒ Object
Returns the value of attribute index_nested_attribute_errors.
-
#lazily_load_schema_cache ⇒ Object
:singleton-method: lazily_load_schema_cache Lazily load the schema cache.
-
#maintain_test_schema ⇒ Object
Returns the value of attribute maintain_test_schema.
-
#message_verifiers ⇒ Object
:singleton-method: message_verifiers.
-
#migration_strategy ⇒ Object
:singleton-method: migration_strategy Specify strategy to use for executing migrations.
-
#permanent_connection_checkout ⇒ Object
readonly
Returns the value of attribute permanent_connection_checkout.
-
#protocol_adapters ⇒ Object
:singleton-method: protocol_adapters Provides a mapping between database protocols/DBMSs and the underlying database adapter to be used.
-
#query_transformers ⇒ Object
Returns the value of attribute query_transformers.
-
#queues ⇒ Object
:singleton-method: queues.
-
#raise_int_wider_than_64bit ⇒ Object
:singleton-method: raise_int_wider_than_64bit 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.
-
#raise_on_assign_to_attr_readonly ⇒ Object
Returns the value of attribute raise_on_assign_to_attr_readonly.
-
#raise_on_missing_required_finder_order_columns ⇒ Object
Returns the value of attribute raise_on_missing_required_finder_order_columns.
-
#reading_role ⇒ Object
Returns the value of attribute reading_role.
-
#run_after_transaction_callbacks_in_order_defined ⇒ Object
Returns the value of attribute run_after_transaction_callbacks_in_order_defined.
-
#schema_cache_ignored_tables ⇒ Object
:singleton-method: schema_cache_ignored_tables A list of tables or regex’s to match tables to ignore when dumping the schema cache.
-
#schema_format ⇒ Object
:singleton-method: schema_format Specifies the format to use when dumping the database schema with Rails’ Rakefile.
-
#schema_versions_formatter ⇒ Object
:singleton-method: schema_versions_formatter Specify the formatter used by schema dumper to format versions information.
-
#timestamped_migrations ⇒ Object
:singleton-method: timestamped_migrations Specify whether or not to use timestamps for migration versions.
-
#use_yaml_unsafe_load ⇒ Object
:singleton-method: use_yaml_unsafe_load Application configurable boolean that instructs the YAML Coder to use an unsafe load if set to true.
-
#validate_migration_timestamps ⇒ Object
:singleton-method: validate_migration_timestamps Specify whether or not to validate migration timestamps.
-
#verbose_query_logs ⇒ Object
:singleton-method: verbose_query_logs.
-
#verify_foreign_keys_for_fixtures ⇒ Object
:singleton-method: verify_foreign_keys_for_fixtures If true, Rails will verify all foreign keys in the database after loading fixtures.
-
#writing_role ⇒ Object
Returns the value of attribute writing_role.
-
#yaml_column_permitted_classes ⇒ Object
:singleton-method: yaml_column_permitted_classes Application configurable array that provides additional permitted classes to Psych safe_load in the YAML Coder.
Class Method Summary collapse
-
.after_all_transactions_commit(&block) ⇒ Object
Registers a block to be called after all the current transactions have been committed.
-
.all_open_transactions ⇒ Object
:nodoc:.
- .db_warnings_action=(action) ⇒ Object
-
.default_timezone=(default_timezone) ⇒ Object
Determines whether to use Time.utc (using :utc) or Time.local (using :local) when pulling dates and times from the database.
-
.default_transaction_isolation_level ⇒ Object
:nodoc:.
-
.default_transaction_isolation_level=(isolation_level) ⇒ Object
:nodoc:.
- .deprecated_associations_options ⇒ Object
- .deprecated_associations_options=(options) ⇒ Object
-
.deprecator ⇒ Object
:nodoc:.
-
.disconnect_all! ⇒ Object
Explicitly closes all database connections in all pools.
- .eager_load! ⇒ Object
-
.gem_version ⇒ Object
Returns the currently loaded version of Active Record as a
Gem::Version
. -
.global_executor_concurrency ⇒ Object
:nodoc:.
-
.global_executor_concurrency=(global_executor_concurrency) ⇒ Object
Set the
global_executor_concurrency
. -
.global_thread_pool_async_query_executor ⇒ Object
:nodoc:.
- .marshalling_format_version ⇒ Object
- .marshalling_format_version=(value) ⇒ Object
-
.permanent_connection_checkout=(value) ⇒ Object
Defines whether
ActiveRecord::Base.connection
is allowed, deprecated, or entirely disallowed. -
.schema_cache_ignored_table?(table_name) ⇒ Boolean
Checks to see if the
table_name
is ignored by checking against theschema_cache_ignored_tables
option. -
.version ⇒ Object
Returns the currently loaded version of Active Record as a
Gem::Version
. -
.with_transaction_isolation_level(isolation_level, &block) ⇒ Object
Sets a transaction isolation level for all connection pools within the block.
Methods included from ActiveSupport::Autoload
autoload, autoload_at, autoload_under, eager_autoload, eager_load!
Methods included from ActiveSupport::Deprecation::DeprecatedConstantAccessor
Instance Attribute Details
#action_on_strict_loading_violation ⇒ Object
:singleton-method: action_on_strict_loading_violation Set the application to log or raise when an association violates strict loading. Defaults to :raise.
370 371 372 |
# File 'activerecord/lib/active_record.rb', line 370 def action_on_strict_loading_violation @action_on_strict_loading_violation end |
#application_record_class ⇒ Object
Returns the value of attribute application_record_class.
363 364 365 |
# File 'activerecord/lib/active_record.rb', line 363 def application_record_class @application_record_class end |
#async_query_executor ⇒ Object
:singleton-method: async_query_executor 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.
288 289 290 |
# File 'activerecord/lib/active_record.rb', line 288 def async_query_executor @async_query_executor end |
#before_committed_on_all_records ⇒ Object
Returns the value of attribute before_committed_on_all_records.
354 355 356 |
# File 'activerecord/lib/active_record.rb', line 354 def before_committed_on_all_records @before_committed_on_all_records end |
#belongs_to_required_validates_foreign_key ⇒ Object
Returns the value of attribute belongs_to_required_validates_foreign_key.
351 352 353 |
# File 'activerecord/lib/active_record.rb', line 351 def belongs_to_required_validates_foreign_key @belongs_to_required_validates_foreign_key end |
#database_cli ⇒ Object
Returns the value of attribute database_cli.
213 214 215 |
# File 'activerecord/lib/active_record.rb', line 213 def database_cli @database_cli end |
#db_warnings_action ⇒ Object (readonly)
:singleton-method: db_warnings_action 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.
235 236 237 |
# File 'activerecord/lib/active_record.rb', line 235 def db_warnings_action @db_warnings_action end |
#db_warnings_ignore ⇒ Object
:singleton-method: db_warnings_ignore Specify allowlist of database warnings. Can be a string, regular expression, or an error code from the database.
ActiveRecord::Base.db_warnings_ignore = [/`SHOW WARNINGS` did not return the warnings/, "01000"]
267 268 269 |
# File 'activerecord/lib/active_record.rb', line 267 def db_warnings_ignore @db_warnings_ignore end |
#default_timezone ⇒ Object (readonly)
Returns the value of attribute default_timezone.
216 217 218 |
# File 'activerecord/lib/active_record.rb', line 216 def default_timezone @default_timezone end |
#disable_prepared_statements ⇒ Object
Returns the value of attribute disable_prepared_statements.
184 185 186 |
# File 'activerecord/lib/active_record.rb', line 184 def disable_prepared_statements @disable_prepared_statements end |
#dump_schema_after_migration ⇒ Object
:singleton-method: dump_schema_after_migration 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.
425 426 427 |
# File 'activerecord/lib/active_record.rb', line 425 def dump_schema_after_migration @dump_schema_after_migration end |
#dump_schemas ⇒ Object
:singleton-method: dump_schemas 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.
435 436 437 |
# File 'activerecord/lib/active_record.rb', line 435 def dump_schemas @dump_schemas end |
#error_on_ignored_order ⇒ Object
:singleton-method: error_on_ignored_order 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.
390 391 392 |
# File 'activerecord/lib/active_record.rb', line 390 def error_on_ignored_order @error_on_ignored_order end |
#generate_secure_token_on ⇒ Object
:singleton-method: generate_secure_token_on Controls when to generate a value for has_secure_token
declarations. Defaults to :create
.
476 477 478 |
# File 'activerecord/lib/active_record.rb', line 476 def generate_secure_token_on @generate_secure_token_on end |
#index_nested_attribute_errors ⇒ Object
Returns the value of attribute index_nested_attribute_errors.
327 328 329 |
# File 'activerecord/lib/active_record.rb', line 327 def index_nested_attribute_errors @index_nested_attribute_errors end |
#lazily_load_schema_cache ⇒ Object
:singleton-method: lazily_load_schema_cache Lazily load the schema cache. This option will load the schema cache when a connection is established rather than on boot.
191 192 193 |
# File 'activerecord/lib/active_record.rb', line 191 def lazily_load_schema_cache @lazily_load_schema_cache end |
#maintain_test_schema ⇒ Object
Returns the value of attribute maintain_test_schema.
345 346 347 |
# File 'activerecord/lib/active_record.rb', line 345 def maintain_test_schema @maintain_test_schema end |
#message_verifiers ⇒ Object
:singleton-method: message_verifiers
ActiveSupport::MessageVerifiers instance for Active Record. If you are using Rails, this will be set to Rails.application.message_verifiers
.
543 544 545 |
# File 'activerecord/lib/active_record.rb', line 543 def @message_verifiers end |
#migration_strategy ⇒ Object
:singleton-method: migration_strategy Specify strategy to use for executing migrations.
410 411 412 |
# File 'activerecord/lib/active_record.rb', line 410 def migration_strategy @migration_strategy end |
#permanent_connection_checkout ⇒ Object (readonly)
Returns the value of attribute permanent_connection_checkout.
317 318 319 |
# File 'activerecord/lib/active_record.rb', line 317 def permanent_connection_checkout @permanent_connection_checkout end |
#protocol_adapters ⇒ Object
:singleton-method: protocol_adapters Provides a mapping between database protocols/DBMSs and the underlying database adapter to be used. This is used only by the DATABASE_URL
environment variable.
Example
DATABASE_URL="mysql://myuser:mypass@localhost/somedatabase"
The above URL specifies that MySQL is the desired protocol/DBMS, and the application configuration can then decide which adapter to use. For this example the default mapping is from mysql
to mysql2
, but :trilogy
is also supported.
ActiveRecord.protocol_adapters.mysql = "mysql2"
The protocols names are arbitrary, and external database adapters can be registered and set here.
529 530 531 |
# File 'activerecord/lib/active_record.rb', line 529 def protocol_adapters @protocol_adapters end |
#query_transformers ⇒ Object
Returns the value of attribute query_transformers.
447 448 449 |
# File 'activerecord/lib/active_record.rb', line 447 def query_transformers @query_transformers end |
#queues ⇒ Object
:singleton-method: queues
Specifies the names of the queues used by background jobs.
342 343 344 |
# File 'activerecord/lib/active_record.rb', line 342 def queues @queues end |
#raise_int_wider_than_64bit ⇒ Object
:singleton-method: raise_int_wider_than_64bit 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
462 463 464 |
# File 'activerecord/lib/active_record.rb', line 462 def raise_int_wider_than_64bit @raise_int_wider_than_64bit end |
#raise_on_assign_to_attr_readonly ⇒ Object
Returns the value of attribute raise_on_assign_to_attr_readonly.
348 349 350 |
# File 'activerecord/lib/active_record.rb', line 348 def raise_on_assign_to_attr_readonly @raise_on_assign_to_attr_readonly end |
#raise_on_missing_required_finder_order_columns ⇒ Object
Returns the value of attribute raise_on_missing_required_finder_order_columns.
360 361 362 |
# File 'activerecord/lib/active_record.rb', line 360 def raise_on_missing_required_finder_order_columns @raise_on_missing_required_finder_order_columns end |
#reading_role ⇒ Object
Returns the value of attribute reading_role.
273 274 275 |
# File 'activerecord/lib/active_record.rb', line 273 def reading_role @reading_role end |
#run_after_transaction_callbacks_in_order_defined ⇒ Object
Returns the value of attribute run_after_transaction_callbacks_in_order_defined.
357 358 359 |
# File 'activerecord/lib/active_record.rb', line 357 def run_after_transaction_callbacks_in_order_defined @run_after_transaction_callbacks_in_order_defined end |
#schema_cache_ignored_tables ⇒ Object
:singleton-method: schema_cache_ignored_tables 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.
199 200 201 |
# File 'activerecord/lib/active_record.rb', line 199 def schema_cache_ignored_tables @schema_cache_ignored_tables end |
#schema_format ⇒ Object
:singleton-method: schema_format 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. This can be overridden per-database in the database configuration.
382 383 384 |
# File 'activerecord/lib/active_record.rb', line 382 def schema_format @schema_format end |
#schema_versions_formatter ⇒ Object
:singleton-method: schema_versions_formatter Specify the formatter used by schema dumper to format versions information.
416 417 418 |
# File 'activerecord/lib/active_record.rb', line 416 def schema_versions_formatter @schema_versions_formatter end |
#timestamped_migrations ⇒ Object
:singleton-method: timestamped_migrations Specify whether or not to use timestamps for migration versions
396 397 398 |
# File 'activerecord/lib/active_record.rb', line 396 def @timestamped_migrations end |
#use_yaml_unsafe_load ⇒ Object
:singleton-method: use_yaml_unsafe_load Application configurable boolean that instructs the YAML Coder to use an unsafe load if set to true.
454 455 456 |
# File 'activerecord/lib/active_record.rb', line 454 def use_yaml_unsafe_load @use_yaml_unsafe_load end |
#validate_migration_timestamps ⇒ Object
:singleton-method: validate_migration_timestamps Specify whether or not to validate migration timestamps. When set, an error will be raised if a timestamp is more than a day ahead of the timestamp associated with the current time. timestamped_migrations
must be set to true.
404 405 406 |
# File 'activerecord/lib/active_record.rb', line 404 def @validate_migration_timestamps end |
#verbose_query_logs ⇒ Object
:singleton-method: verbose_query_logs
Specifies if the methods calling database queries should be logged below their relevant queries. Defaults to false.
335 336 337 |
# File 'activerecord/lib/active_record.rb', line 335 def verbose_query_logs @verbose_query_logs end |
#verify_foreign_keys_for_fixtures ⇒ Object
:singleton-method: verify_foreign_keys_for_fixtures 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.
444 445 446 |
# File 'activerecord/lib/active_record.rb', line 444 def verify_foreign_keys_for_fixtures @verify_foreign_keys_for_fixtures end |
#writing_role ⇒ Object
Returns the value of attribute writing_role.
270 271 272 |
# File 'activerecord/lib/active_record.rb', line 270 def writing_role @writing_role end |
#yaml_column_permitted_classes ⇒ Object
:singleton-method: yaml_column_permitted_classes Application configurable array that provides additional permitted classes to Psych safe_load in the YAML Coder
469 470 471 |
# File 'activerecord/lib/active_record.rb', line 469 def yaml_column_permitted_classes @yaml_column_permitted_classes end |
Class Method Details
.after_all_transactions_commit(&block) ⇒ Object
Registers a block to be called after all the current transactions have been committed.
If there is no currently open transaction, the block is called immediately.
If there are multiple nested transactions, the block is called after the outermost one has been committed,
If any of the currently open transactions is rolled back, the block is never called.
If multiple transactions are open across multiple databases, the block will be invoked if and once all of them have been committed. But note that nesting transactions across two distinct databases is a sharding anti-pattern that comes with a world of hurts.
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 |
# File 'activerecord/lib/active_record.rb', line 573 def self.after_all_transactions_commit(&block) open_transactions = all_open_transactions if open_transactions.empty? yield elsif open_transactions.size == 1 open_transactions.first.after_commit(&block) else count = open_transactions.size callback = -> do count -= 1 block.call if count.zero? end open_transactions.each do |t| t.after_commit(&callback) end open_transactions = nil # rubocop:disable Lint/UselessAssignment avoid holding it in the closure end end |
.all_open_transactions ⇒ Object
:nodoc:
593 594 595 596 597 598 599 600 601 602 603 604 605 |
# File 'activerecord/lib/active_record.rb', line 593 def self.all_open_transactions # :nodoc: open_transactions = [] Base.connection_handler.each_connection_pool do |pool| if active_connection = pool.active_connection current_transaction = active_connection.current_transaction if current_transaction.open? && current_transaction.joinable? open_transactions << current_transaction end end end open_transactions end |
.db_warnings_action=(action) ⇒ Object
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 |
# File 'activerecord/lib/active_record.rb', line 237 def self.db_warnings_action=(action) @db_warnings_action = case action when :ignore nil when :log ->(warning) do = "[#{warning.class}] #{warning.}" += " (#{warning.code})" if warning.code ActiveRecord::Base.logger.warn() 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) ⇒ Object
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.
220 221 222 223 224 225 226 |
# File 'activerecord/lib/active_record.rb', line 220 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 |
.default_transaction_isolation_level ⇒ Object
:nodoc:
611 612 613 |
# File 'activerecord/lib/active_record.rb', line 611 def self.default_transaction_isolation_level # :nodoc: ActiveSupport::IsolatedExecutionState[:active_record_transaction_isolation] end |
.default_transaction_isolation_level=(isolation_level) ⇒ Object
:nodoc:
607 608 609 |
# File 'activerecord/lib/active_record.rb', line 607 def self.default_transaction_isolation_level=(isolation_level) # :nodoc: ActiveSupport::IsolatedExecutionState[:active_record_transaction_isolation] = isolation_level end |
.deprecated_associations_options ⇒ Object
495 496 497 498 499 500 |
# File 'activerecord/lib/active_record.rb', line 495 def self. { mode: ActiveRecord::Associations::Deprecation.mode, backtrace: ActiveRecord::Associations::Deprecation.backtrace } end |
.deprecated_associations_options=(options) ⇒ Object
479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 |
# File 'activerecord/lib/active_record.rb', line 479 def self.() raise ArgumentError, "deprecated_associations_options must be a hash" unless .is_a?(Hash) valid_keys = [:mode, :backtrace] invalid_keys = .keys - valid_keys unless invalid_keys.empty? inflected_key = invalid_keys.size == 1 ? "key" : "keys" raise ArgumentError, "invalid deprecated_associations_options #{inflected_key} #{invalid_keys.map(&:inspect).to_sentence} (valid keys are #{valid_keys.map(&:inspect).to_sentence})" end .each do |key, value| ActiveRecord::Associations::Deprecation.send("#{key}=", value) end end |
.deprecator ⇒ Object
:nodoc:
4 5 6 |
# File 'activerecord/lib/active_record/deprecator.rb', line 4 def self.deprecator # :nodoc: @deprecator ||= ActiveSupport::Deprecation.new end |
.disconnect_all! ⇒ Object
Explicitly closes all database connections in all pools.
556 557 558 |
# File 'activerecord/lib/active_record.rb', line 556 def self.disconnect_all! ConnectionAdapters::PoolConfig.disconnect_all! end |
.eager_load! ⇒ Object
545 546 547 548 549 550 551 552 553 |
# File 'activerecord/lib/active_record.rb', line 545 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 ⇒ Object
Returns the currently loaded version of Active Record as a Gem::Version
.
5 6 7 |
# File 'activerecord/lib/active_record/gem_version.rb', line 5 def self.gem_version Gem::Version.new VERSION::STRING end |
.global_executor_concurrency ⇒ Object
:nodoc:
312 313 314 |
# File 'activerecord/lib/active_record.rb', line 312 def self.global_executor_concurrency # :nodoc: @global_executor_concurrency ||= nil end |
.global_executor_concurrency=(global_executor_concurrency) ⇒ Object
Set the global_executor_concurrency
. This configuration value can only be used with the global thread pool async query executor.
304 305 306 307 308 309 310 |
# File 'activerecord/lib/active_record.rb', line 304 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 the executor is nil or set to `:multi_thread_pool`. For multiple thread pools, please set the concurrency in your database configuration." end @global_executor_concurrency = global_executor_concurrency end |
.global_thread_pool_async_query_executor ⇒ Object
:nodoc:
291 292 293 294 295 296 297 298 299 300 |
# File 'activerecord/lib/active_record.rb', line 291 def self.global_thread_pool_async_query_executor # :nodoc: concurrency = global_executor_concurrency || 4 @global_thread_pool_async_query_executor ||= Concurrent::ThreadPoolExecutor.new( name: "ActiveRecord-global-async-query-executor", min_threads: 0, max_threads: concurrency, max_queue: concurrency * 4, fallback_policy: :caller_runs ) end |
.marshalling_format_version ⇒ Object
502 503 504 |
# File 'activerecord/lib/active_record.rb', line 502 def self.marshalling_format_version Marshalling.format_version end |
.marshalling_format_version=(value) ⇒ Object
506 507 508 |
# File 'activerecord/lib/active_record.rb', line 506 def self.marshalling_format_version=(value) Marshalling.format_version = value end |
.permanent_connection_checkout=(value) ⇒ Object
Defines whether ActiveRecord::Base.connection
is allowed, deprecated, or entirely disallowed.
320 321 322 323 324 325 |
# File 'activerecord/lib/active_record.rb', line 320 def self.permanent_connection_checkout=(value) unless [true, :deprecated, :disallowed].include?(value) raise ArgumentError, "permanent_connection_checkout must be one of: `true`, `:deprecated` or `:disallowed`" end @permanent_connection_checkout = value end |
.schema_cache_ignored_table?(table_name) ⇒ Boolean
Checks to see if the table_name
is ignored by checking against the schema_cache_ignored_tables
option.
ActiveRecord.schema_cache_ignored_table?(:developers)
207 208 209 210 211 |
# File 'activerecord/lib/active_record.rb', line 207 def self.schema_cache_ignored_table?(table_name) ActiveRecord.schema_cache_ignored_tables.any? do |ignored| ignored === table_name end end |
.version ⇒ Object
Returns the currently loaded version of Active Record as a Gem::Version
.
7 8 9 |
# File 'activerecord/lib/active_record/version.rb', line 7 def self.version gem_version end |
.with_transaction_isolation_level(isolation_level, &block) ⇒ Object
Sets a transaction isolation level for all connection pools within the block.
616 617 618 619 620 621 622 |
# File 'activerecord/lib/active_record.rb', line 616 def self.with_transaction_isolation_level(isolation_level, &block) original_level = self.default_transaction_isolation_level self.default_transaction_isolation_level = isolation_level yield ensure self.default_transaction_isolation_level = original_level end |