Как автоматически создать класс Rails Migration из экземпляра базы данных MYSQL? - PullRequest
2 голосов
/ 26 января 2011

У меня есть сценарии базы данных, которые создают базу данных с более чем 100 таблицами и большим количеством данных.Для меня это утомительная задача - создать классы Rails Migration для всей базы данных.Но я считаю Rails Migration хорошим вариантом для долгосрочного управления изменениями базы данных.Пожалуйста, предложите какой-нибудь способ автоматической генерации классов Rails Migrate из экземпляра базы данных MYSQL.

Ответы [ 2 ]

7 голосов
/ 26 января 2011

Это можно сделать в три простых шага:

  1. написать config / database.yml для ссылки на вашу базу данных.
  2. Запустить "rake db: schema: dump"сгенерировать db / schema.rb.Вот документация:

    $ rake -T db: schema: dump ... rake db: schema: dump # Создать файл db / schema.rb, который можно переносимо использовать для любой БД, поддерживаемой AR

  3. Преобразовать файл schema.rb в db / migrate / XXXXXX_create_migration.rb:

class CreateMigration < ActiveRecord::Migration
  def self.up
    # insert schema.rb here
  end

  def self.down
    # drop all the tables if you really need
    # to support migration back to version 0
  end
end
0 голосов
/ 26 января 2011

Взгляните на Продолжение .Это библиотека Ruby, которая делает все то же самое, но без привязки к Rails / ActiveRecord.Это может быть как раз то, что вам нужно, если вы думаете действительно долго.

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