У нас была именно эта проблема, когда мы портировали приложение PHP на рельсы. То, что мы сделали, похоже на предложение сегодняшнего дня. Сначала мы указали конфигурацию рельсов на текущую базу данных. Затем мы сделали rake db: schema: dump и скопировали файл db / schema.rb в нечто вроде db / schema_base.rb. Затем вы выполняете первую миграцию, загружая эту схему. Например:
class CreateTables < ActiveRecord::Migration
def self.up
`cp #{Rails.root}/db/schema_base.rb #{Rails.root}/db/schema.rb`
Rake::Task['db:schema:load'].invoke
end
def self.down
end
end
Просто заставьте это быть первой миграцией, и вы будете на своем пути. Затем вы начинаете писать миграции, чтобы преобразовать базу данных, чтобы она была более совместимой с Rails. Мы написали миграции для правильного переименования столбцов идентификаторов, отношений внешних ключей, имен таблиц и т. Д.
Помните, что дамп схемы не поддерживает ограничения внешнего ключа и триггеры, если вы их используете.