Spec-Zone.ru › Ruby on Rails 5.2

модуль ActiveRecord::ModelSchema

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

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
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

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

  delegate :type_for_attribute, to: :class

  initialize_load_schema_monitor
end

Устанавливает, должны ли имена таблиц быть множественным числом от соответствующих имён классов. Если 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–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

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