rake db: schema: dump не предоставляет информацию о переносе данных - есть ли автоматический способ получить это? - PullRequest
3 голосов
/ 19 мая 2009
rake db:schema:dump

Эта команда предоставляет вам схему устаревшей базы данных, и вы можете создать миграцию для этой базы данных из сгенерированной схемы.

Но если бы в этой базе данных были данные, было бы неплохо, если бы существовала команда rake для извлечения данных из файла миграции, сгенерированного Rails.

Возможно, я мечтаю - возможно, он слишком много думает, что Rails может посмотреть на данные в устаревшей базе данных и построить для вас миграцию из существующих данных - что-то вроде этого:

class LoadDefaultData < ActiveRecord::Migration
  def self.up
    bopeep = User.find_by_username 'bopeep'
    BlogPost.create(:title => 'test', :content => 'test', :author_id => bopeep.id, :status => 'ok')
  end

  def self.down
  end
end

Или есть способ?

1 Ответ

5 голосов
/ 19 мая 2009

Тобиасу Лютке нужно было перенести базу данных из одной архитектуры в другую, но нужно было копировать данные без изменений. Чтобы убедиться, что формат не зависит от архитектуры, он создал плагин, который выгружает данные в YAML, а затем перезагружает их обратно в базу данных на другом конце. Это простое задание по рейку, и Тоби дает быстрые и простые инструкции.

http://blog.leetsoft.com/2006/5/29/easy-migration-between-databases

Это может помочь.

Вам также может понравиться плагин YamlDB http://opensource.heroku.com/, который может выполнять резервное копирование из одного типа БД и восстанавливать его в другом. Вот некоторые инструкции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...