Spec-Zone.ru › Ruby on Rails 6.0

module ActiveRecord::ModelSchema

Публичные методы класса

implicit_order_column Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 112
    

Имя столбца, по которому сортируются записи, если в вызове упорядоченного поиска не указано явное условие сортировки. Если не задано, используется первичный ключ.

implicit_order_column=(column_name) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 120
included do
  mattr_accessor :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

  self.protected_environments = ["production"]
  self.inheritance_column = "type"
  self.ignored_columns = [].freeze

  delegate :type_for_attribute, to: :class

  initialize_load_schema_monitor
end

Устанавливает столбец для сортировки записей, когда при вызове упорядоченного поиска не указано явное условие сортировки. Полезно, когда первичный ключ не является целочисленным значением с автоинкрементом, например, когда это UUID. Обратите внимание, что использование не уникального столбца может привести к непредсказуемым результатам.

internal_metadata_table_name Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 83
    

Имя внутренней таблицы метаданных. По умолчанию значение равно "ar_internal_metadata".

internal_metadata_table_name=(table_name) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 89
    

Устанавливает имя внутренней таблицы метаданных.

pluralize_table_names Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 97
    

Указывает, должны ли имена таблиц быть множественным числом от соответствующих имен классов. Если true, то по умолчанию имя таблицы для класса Product будет «products». Если false, то просто «product». Смотрите table_name для получения полных правил именования таблиц/классов. По умолчанию это true.

pluralize_table_names=(value) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 105
    

Устанавливает, должны ли имена таблиц быть множественным числом от соответствующих имен классов. Если true, то по умолчанию имя таблицы для класса Product будет «products». Если false, то просто «product». Смотрите table_name для получения полных правил именования таблиц/классов. По умолчанию это true.

primary_key_prefix_type Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 19
    

Тип префикса, который будет добавлен к каждому имени столбца первичного ключа. Доступные варианты: :table_name и :table_name_with_underscore. Если указан первый вариант, класс Product будет искать «productid» вместо «id» в качестве первичного столбца. Если указан второй, класс Product будет искать «product_id» вместо «id». Помните, что это глобальная настройка для всех Active Records.

primary_key_prefix_type=(prefix_type) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 29
    

Устанавливает тип префикса, который будет добавлен к каждому имени столбца первичного ключа. Доступные варианты: :table_name и :table_name_with_underscore. Если указан первый вариант, класс Product будет искать «productid» вместо «id» в качестве первичного столбца. Если указан второй, класс Product будет искать «product_id» вместо «id». Помните, что это глобальная настройка для всех Active Records.

schema_migrations_table_name Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 71
    

Имя таблицы миграций схемы. По умолчанию значение равно "schema_migrations".

schema_migrations_table_name=(table_name) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 77
    

Устанавливает имя таблицы миграций схемы.

table_name_prefix Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 35
    

Строка-префикс, добавляемая к каждому имени таблицы.

table_name_prefix=(prefix) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 48
    

Устанавливает строку-префикс, добавляемую к каждому имени таблицы. Таким образом, если установлено «basecamp_», все имена таблиц будут именоваться как «basecamp_projects», «basecamp_people» и т. д. Это удобный способ создания пространства имён для таблиц в общей базе данных. По умолчанию префикс — пустая строка.

Если вы организуете модели в модулях, вы можете добавить префикс к моделям внутри пространства имён, определив в родительском модуле метод-синглтон с именем ::table_name_prefix, возвращающий выбранный вами префикс.

table_name_suffix Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 54
    

Строка-суффикс, добавляемая к каждому имени таблицы.

table_name_suffix=(suffix) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 65
    

Действует как table_name_prefix=, но добавляет, а не добавляет в начало (установка «_basecamp» даёт «projects_basecamp», «people_basecamp»). По умолчанию суффикс — пустая строка.

Если вы организуете модели в модулях, вы можете добавить суффикс к моделям внутри пространства имён, определив в родительском модуле метод-синглтон с именем ::table_name_suffix, возвращающий выбранный вами суффикс.

© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API