Spec-Zone.ru › Ruby on Rails 5.1

модуль ActiveRecord::ModelSchema

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

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

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

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

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

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

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

pluralize_table_names=(value) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 103
included do
  mattr_accessor :primary_key_prefix_type, instance_writer: false

  class_attribute :table_name_prefix, instance_writer: false
  self.table_name_prefix = ""

  class_attribute :table_name_suffix, instance_writer: false
  self.table_name_suffix = ""

  class_attribute :schema_migrations_table_name, instance_accessor: false
  self.schema_migrations_table_name = "schema_migrations"

  class_attribute :internal_metadata_table_name, instance_accessor: false
  self.internal_metadata_table_name = "ar_internal_metadata"

  class_attribute :pluralize_table_names, instance_writer: false
  self.pluralize_table_names = 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 17
    

Тип префикса, который будет добавлен к каждому имени столбца первичного ключа. Доступные варианты: :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 27
    

Устанавливает тип префикса, который будет добавлен к каждому имени столбца первичного ключа. Доступные варианты: :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 69
    

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

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

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

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

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

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

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

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

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

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

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

Работает аналогично 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