module

ActiveRecord::ConnectionAdapters

v7.1.3.4 - Show latest stable

No documentation available for this module.

Constants

AddColumnDefinition = Struct.new(:column)

ChangeColumnDefaultDefinition = Struct.new(:column, :default)

ChangeColumnDefinition = Struct.new(:column, :name)

CheckConstraintDefinition = Struct.new(:table_name, :expression, :options) do\ndef name\noptions[:name]\nend\n\ndef validate?\noptions.fetch(:validate, true)\nend\nalias validated? validate?\n\ndef export_name_on_schema_dump?\n!ActiveRecord::SchemaDumper.chk_ignore_pattern.match?(name) if name\nend\n\ndef defined_for?(name:, expression: nil, validate: nil, **options)\nself.name == name.to_s &&\n(validate.nil? || validate == self.options.fetch(:validate, validate)) &&\noptions.all? { |k, v| self.options[k].to_s == v.to_s }\nend\nend

ColumnDefinition = Struct.new(:name, :type, :options, :sql_type) do # :nodoc:\nself::OPTION_NAMES = [\n:limit,\n:precision,\n:scale,\n:default,\n:null,\n:collation,\n:comment,\n:primary_key,\n:if_exists,\n:if_not_exists\n]\n\ndef primary_key?\noptions[:primary_key]\nend\n\n(self::OPTION_NAMES - [:primary_key]).each do |option_name|\nmodule_eval <<-CODE, __FILE__, __LINE__ + 1\ndef #{option_name}\noptions[:#{option_name}]\nend\n\ndef #{option_name}=(value)\noptions[:#{option_name}] = value\nend\nCODE\nend\n\ndef aliased_types(name, fallback)\n"timestamp" == name ? :datetime : fallback\nend\nend

CreateIndexDefinition = Struct.new(:index, :algorithm, :if_not_exists)

ForeignKeyDefinition = Struct.new(:from_table, :to_table, :options) do # :nodoc:\ndef name\noptions[:name]\nend\n\ndef column\noptions[:column]\nend\n\ndef primary_key\noptions[:primary_key] || default_primary_key\nend\n\ndef on_delete\noptions[:on_delete]\nend\n\ndef on_update\noptions[:on_update]\nend\n\ndef deferrable\noptions[:deferrable]\nend\n\ndef custom_primary_key?\noptions[:primary_key] != default_primary_key\nend\n\ndef validate?\noptions.fetch(:validate, true)\nend\nalias validated? validate?\n\ndef export_name_on_schema_dump?\n!ActiveRecord::SchemaDumper.fk_ignore_pattern.match?(name) if name\nend\n\ndef defined_for?(to_table: nil, validate: nil, **options)\n(to_table.nil? || to_table.to_s == self.to_table) &&\n(validate.nil? || validate == self.options.fetch(:validate, validate)) &&\noptions.all? { |k, v| Array(self.options[k]).map(&:to_s) == Array(v).map(&:to_s) }\nend\n\nprivate\ndef default_primary_key\n"id"\nend\nend

PostgreSQLColumn = PostgreSQL::Column # :nodoc:

PrimaryKeyDefinition = Struct.new(:name)

Files

  • activerecord/lib/active_record/connection_adapters.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/connection_pool/queue.rb
  • activerecord/lib/active_record/connection_adapters/abstract/connection_pool/reaper.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_adapter.rb
  • activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
  • activerecord/lib/active_record/connection_adapters/deduplicable.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/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/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/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/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/utils.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/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/sqlite3_adapter.rb
  • activerecord/lib/active_record/connection_adapters/statement_pool.rb
  • activerecord/lib/active_record/connection_adapters/trilogy/database_statements.rb
  • activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb

Nested classes and modules