модуль ActiveRecord::ModelSchema
Методы публичного класса
# File activerecord/lib/active_record/model_schema.rb, line 81
Имя внутренней таблицы метаданных. По умолчанию значение равно "ar_internal_metadata".
# File activerecord/lib/active_record/model_schema.rb, line 87
Устанавливает имя внутренней таблицы метаданных.
# File activerecord/lib/active_record/model_schema.rb, line 108
Указывает, следует ли использовать множественное число в именах таблиц, соответствующих именам классов. Если значение true, то имя таблицы для класса Product будет «products». Если false, то «product». Полные правила именования таблиц и классов см. в table_name. По умолчанию значение равно true.
# 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.
# File activerecord/lib/active_record/model_schema.rb, line 17
Тип префикса, который будет добавлен к имени каждого столбца первичного ключа. Доступные варианты: :table_name и :table_name_with_underscore. Если выбран первый вариант, класс Product будет искать столбец с именем «productid» вместо «id». Если второй — «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_id» вместо «id». Обратите внимание, что это глобальное значение для всех Active Records.
# File activerecord/lib/active_record/model_schema.rb, line 94
Массив имён окружений, в которых запрещены разрушающие действия. По умолчанию значение равно ["production"].
# File activerecord/lib/active_record/model_schema.rb, line 100
Устанавливает массив имён окружений, в которых запрещены разрушающие действия.
# File activerecord/lib/active_record/model_schema.rb, line 69
Имя таблицы миграций схемы. По умолчанию значение равно "schema_migrations".
# File activerecord/lib/active_record/model_schema.rb, line 75
Устанавливает имя таблицы миграций схемы.
# File activerecord/lib/active_record/model_schema.rb, line 33
Строка префикса, добавляемая к каждому имени таблицы.
# File activerecord/lib/active_record/model_schema.rb, line 46
Устанавливает строку префикса, добавляемую к каждому имени таблицы. Например, если установлено значение «basecamp_», все имена таблиц будут выглядеть как «basecamp_projects», «basecamp_people» и т. д. Это удобный способ создания пространства имён для таблиц в общей базе данных. По умолчанию префикс пустая строка.
Если модели организованы в модулях, можно добавить префикс к моделям в пространстве имён, определив метод-синглтон в родительском модуле с именем ::table_name_prefix, который возвращает выбранный префикс.
# File activerecord/lib/active_record/model_schema.rb, line 52
Строка суффикса, добавляемая к каждому имени таблицы.
# 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.