Подтвердить что ты не робот

Таблица миграции схем

В моем приложении Rails 4 я хотел бы свернуть мои файлы миграции в один большой файл (похожий на schema.rb), так как пришло время выполнить некоторую домашнюю работу, но я не уверен, как получить доступ к таблице в базе данных, которая сохраняет данные миграции, поэтому, когда я запускаю миграцию, я не получаю никаких ошибок/конфликтов.

Вопрос Как я могу получить доступ и удалить данные в таблице, в которой хранятся данные миграции?

4b9b3361

Ответ 1

для удовольствия, вы также можете манипулировать ими в консоли, создав для них класс модели...

class SchemaMigration < ActiveRecord::Base; self.primary_key = :version; end

то вы можете сделать SchemaMigration.all, SchemaMigration.last.delete и т.д.

На самом деле просто замените использование SQL, и очень редко вам нужно будет возиться на этом низком уровне... вообще плохая идея, но круто посмотреть, как это сделать:)

Ответ 2

Другим решением может быть доступ к нему через:

ActiveRecord::SchemaMigration

Ответ Дэвида не работал в моем контексте.

Ответ 3

В таблице schema_migrations содержатся номера ревизий; причем последняя запись является последней выполненной миграцией. Вы можете просто манипулировать этими записями вручную.

Ответ 4

Не уверен, почему вы хотите это сделать, но здесь вы идете:

ActiveRecord:: Migrator.get_all_versions

Ответ 5

чтобы получить последнюю версию:

ActiveRecord::SchemaMigration.last.version

или все версии:

ActiveRecord::SchemaMigration.all.map(&:version)