Spec-Zone.ru › Ruby on Rails 5.0

модуль 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 108
    

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

pluralize_table_names=(value) Показать исходный код
# File activerecord/lib/active_record/model_schema.rb, line 116
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 :protected_environments, instance_accessor: false
  self.protected_environments = ["production"]

  class_attribute :pluralize_table_names, instance_writer: false
  self.pluralize_table_names = true

  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_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_id» вместо «id». Обратите внимание, что это глобальное значение для всех Active Records.

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

Массив имён окружений, в которых запрещены разрушающие действия. По умолчанию значение равно ["production"].

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

Устанавливает массив имён окружений, в которых запрещены разрушающие действия.

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