Ну, это зависит от того, как выглядит ваша миграция, как выглядит ваш database.yml и что именно вы пытаетесь предпринять. В любом случае требуется дополнительная информация, измените имена, если необходимо, и опубликуйте пример database.yml и миграцию. например, миграция меняет путь поиска для адаптера?
Но знайте, что в целом схемы rails и postgresql плохо работают вместе (пока?).
Есть несколько мест, где есть проблемы. Попробуйте создать приложение, которое использует только одну базу данных pg с двумя схемами, отличными от заданных по умолчанию: одна для разработки и одна для тестирования, и расскажите мне об этом. (из приведенного ниже я уже могу сказать вам, что вы обожжетесь)
Возможно, это было исправлено с тех пор, как я в последний раз играл с ним, но когда я вижу http://rails.lighthouseapp.com/projects/8994/tickets/390-postgres-adapter-quotes-table-name-breaks-when-non-default-schema-is-used или это http://rails.lighthouseapp.com/projects/8994/tickets/918-postgresql-tables-not-generating-correct-schema-list или это в postgresql_adapter.rb
# Drops a PostgreSQL database
#
# Example:
# drop_database 'matt_development'
def drop_database(name) #:nodoc:
execute "DROP DATABASE IF EXISTS #{name}"
end
(да, это неправильно, если вы используете одну и ту же базу данных с разными схемами как для dev, так и для test, при каждом запуске модульных тестов обе базы данных будут отбрасываться!)
Я действительно начал писать патчи. первый был для методов indexes в адаптере, которые не заботились о том, что search_path заканчивался дублированием индексов в некоторых условиях, затем я начал страдать от остального и отказался от идеи использования схем: я хотел получить мое приложение завершено, и у меня не было дополнительного времени, необходимого для решения проблем, которые я имел при использовании схем.