module ActiveRecord::ModelSchema
Публичные методы класса
# File activerecord/lib/active_record/model_schema.rb, line 129
Определяет, должны ли столбцы определять свой тип как :string или :immutable_string. Это значение не влияет на поведение attribute :foo, :string. По умолчанию false.
# File activerecord/lib/active_record/model_schema.rb, line 113
Имя столбца, по которому сортируются записи, если при вызове заказанного поиска не используется явное условие сортировки. Если не задано, используется первичный ключ.
# File activerecord/lib/active_record/model_schema.rb, line 120
Устанавливает столбец для сортировки записей, когда при вызове заказанного поиска не используется явное условие сортировки. Полезно, когда первичный ключ не является целочисленным значением с автоматическим увеличением, например, когда это UUID. Записи отсортированы по первичному ключу, если он существует, для обеспечения детерминированных результатов.
# File activerecord/lib/active_record/model_schema.rb, line 137
Имя столбца таблицы, который хранит имя класса в ситуациях наследования одной таблицей.
Имя столбца наследования по умолчанию — type, что означает, что это зарезервированное слово внутри Active Record. Чтобы иметь возможность использовать наследование одной таблицей с другим именем столбца или использовать столбец type в собственной модели для чего-то другого, можно установить inheritance_column:
self.inheritance_column = 'zoink'
# File activerecord/lib/active_record/model_schema.rb, line 157
included do
class_attribute :primary_key_prefix_type, instance_writer: false
class_attribute :table_name_prefix, instance_writer: false, default: ""
class_attribute :table_name_suffix, instance_writer: false, default: ""
class_attribute :schema_migrations_table_name, instance_accessor: false, default: "schema_migrations"
class_attribute :internal_metadata_table_name, instance_accessor: false, default: "ar_internal_metadata"
class_attribute :pluralize_table_names, instance_writer: false, default: true
class_attribute :implicit_order_column, instance_accessor: false
class_attribute :immutable_strings_by_default, instance_accessor: false
class_attribute :inheritance_column, instance_accessor: false, default: "type"
singleton_class.class_eval do
alias_method :_inheritance_column=, :inheritance_column=
private :_inheritance_column=
alias_method :inheritance_column=, :real_inheritance_column=
end
self.protected_environments = ["production"]
self.ignored_columns = [].freeze
delegate :type_for_attribute, :column_for_attribute, to: :class
initialize_load_schema_monitor
end Определяет имя столбца таблицы, который будет хранить имя класса в ситуациях наследования одной таблицей.
# File activerecord/lib/active_record/model_schema.rb, line 85
Имя внутренней таблицы метаданных. По умолчанию значение равно "ar_internal_metadata".
# File activerecord/lib/active_record/model_schema.rb, line 91
Устанавливает имя внутренней таблицы метаданных.
# File activerecord/lib/active_record/model_schema.rb, line 97
Указывает, должны ли имена таблиц быть множественным числом от соответствующих имён классов. Если true, то имя таблицы для класса Product будет «products». Если false, то просто «product». См. table_name для получения полных правил именования таблиц/классов. По умолчанию true.
# File activerecord/lib/active_record/model_schema.rb, line 105
Устанавливает, должны ли имена таблиц быть множественным числом от соответствующих имён классов. Если true, то имя таблицы для класса Product будет «products». Если false, то просто «product». См. table_name для получения полных правил именования таблиц/классов. По умолчанию true.
# File activerecord/lib/active_record/model_schema.rb, line 17
Тип префикса, который будет добавлен перед именем каждого столбца первичного ключа. Доступные варианты: :table_name и :table_name_with_underscore. Если выбран первый, класс Product будет искать «productid» вместо «id» как первичный столбец. Если выбран второй, класс Product будет искать «product_id» вместо «id». Имейте в виду, что это глобальная настройка для всех Active Records.
# File activerecord/lib/active_record/model_schema.rb, line 27
Устанавливает тип префикса, который будет добавлен перед именем каждого столбца первичного ключа. Доступные варианты: :table_name и :table_name_with_underscore. Если выбран первый, класс Product будет искать «productid» вместо «id» как первичный столбец. Если выбран второй, класс Product будет искать «product_id» вместо «id». Имейте в виду, что это глобальная настройка для всех Active Records.
# File activerecord/lib/active_record/model_schema.rb, line 73
Имя таблицы миграций схемы. По умолчанию значение равно "schema_migrations".
# File activerecord/lib/active_record/model_schema.rb, line 79
Устанавливает имя таблицы миграций схемы.
# File activerecord/lib/active_record/model_schema.rb, line 37
Строка-префикс, которая будет добавляться к каждому имени таблицы.
# File activerecord/lib/active_record/model_schema.rb, line 43
Устанавливает строку-префикс, которая будет добавляться к каждому имени таблицы. Например, если задано «basecamp_», все имена таблиц будут выглядеть как «basecamp_projects», «basecamp_people» и т.д. Это удобный способ создания пространства имён для таблиц в общей базе данных. По умолчанию префикс — пустая строка.
Если вы организуете модели в модулях, вы можете добавить префикс к моделям в пространстве имён, определив в родительском модуле метод-синглтон с именем table_name_prefix, который возвращает выбранный вами префикс.
# File activerecord/lib/active_record/model_schema.rb, line 56
Строка-суффикс, которая будет добавляться к каждому имени таблицы.
# File activerecord/lib/active_record/model_schema.rb, line 62
Работает аналогично table_name_prefix=, но добавляет суффикс вместо префикса (установка «_basecamp» даёт «projects_basecamp», «people_basecamp»). По умолчанию суффикс — пустая строка.
Если вы организуете модели в модулях, вы можете добавить суффикс к моделям в пространстве имён, определив в родительском модуле метод-синглтон с именем table_name_suffix, который возвращает выбранный вами суффикс.
Методы открытого экземпляра
# File activerecord/lib/active_record/model_schema.rb, line 10
Возвращает значение базового столбца для столбца с именем «id». Полезно при определении составного первичного ключа, включающего столбец «id», чтобы значение было читаемым.
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.