Rails schema.rb отличается для разных баз данных - PullRequest
5 голосов
/ 05 февраля 2011

У меня проблема с schema.rb в Rails. Если я запускаю rake db:migrate, результаты будут разными для разных баз данных, если быть точным, если я использую PostgreSQL и текстовое поле, это даст мне

t.text     "summary"

строка, но с SQLite это дает мне

t.text     "summary",    :limit => 255

Также, когда я использую :default, количество пробелов отличается, PostgreSQL:

t.boolean  "watched",    :default => false, :null => false

SQLite:

t.boolean  "watched",                   :default => false, :null => false

Довольно досадно, что когда я запускаю rake db:migrate на производстве, он меняет мой schema.rb и, очевидно, я не могу использовать rake db:schema:load на производстве при использовании schema.rb, сгенерированного в среде разработки. У меня вопрос: почему существуют различия и как заставить их исчезнуть, поэтому schema.rb одинаков для производства и разработки?

1 Ответ

11 голосов
/ 05 февраля 2011

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

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