class ActiveRecord::Schema
Active Record Схема
Позволяет программистам программно определять схему в переносимом DSL. Это означает, что вы можете определять таблицы, индексы и т. д., не используя SQL напрямую, поэтому ваши приложения могут легче поддерживать несколько баз данных.
Использование:
ActiveRecord::Schema.define do
create_table :authors do |t|
t.string :name, null: false
end
add_index :authors, :name, :unique
create_table :posts do |t|
t.integer :author_id, null: false
t.string :subject
t.text :body
t.boolean :private, default: false
end
add_index :posts, :author_id
end
ActiveRecord::Schema поддерживается только адаптерами баз данных, которые также поддерживают миграции, эти две функции очень похожи.
Публичные методы класса
Вычисляет данный блок. Все методы, доступные текущему адаптеру подключения, доступны внутри блока, поэтому вы можете легко использовать DSL определения базы данных для построения вашей схемы (create_table, add_index, и т. д.).
Хэш info необязателен, и, если указан, используется для определения метаданных текущей схемы (в настоящее время только версия схемы):
ActiveRecord::Schema.define(version: 20380119000001) do ... end
# File activerecord/lib/active_record/schema.rb, line 61
def self.define(info={}, &block)
new.define(info, &block)
end Публичные методы экземпляра
Возвращает пути миграций.
ActiveRecord::Schema.new.migrations_paths # => ["db/migrate"] # Rails migration path by default.
# File activerecord/lib/active_record/schema.rb, line 37 def migrations_paths ActiveRecord::Migrator.migrations_paths end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.