Переключение с SQLite3 на Postgresql в разгар разработки для размещения Thinking Sphinx - PullRequest
4 голосов
/ 31 мая 2011

Я уже проделал определенную работу над приложением, и я подхожу к реализации для мышления сфинкса и функциональности поиска.Для работы TS требуется либо mySQL, либо Postgresql db, поэтому я хочу переключить свою разработку на Postgresql.

Существует множество замечательных ресурсов, которые помогут вам перейти от SQLite3 при создании нового приложения rails, как здесь:http://mikewilliamson.wordpress.com/2010/04/19/postgres-and-rails-for-mysql-people/ и здесь: http://www.funonrails.com/2011/03/getting-started-with-rails-3-postgres.html

Но они охватывают только использование Postgresql с самого начала.

Сначала я сделал это, установив postgresql на мою локальную машину иgem

gem 'pg', :require => 'pg'

и путем изменения моего файла database.yml для размещения postgresql с подключениями к локальному хосту, имени пользователя, паролю и адаптерам.Тем не менее, это не сработало, и я предполагаю, что это потому, что, не начиная с postgresql с самого начала, он не установил необходимое количество файлов.

Есть ли хороший способ сделать переключение в середине разработки?или это будет слишком грязно и будет предпочтительным для начала (что не слишком плохо, но не идеально). И на другом замечании, я слышал, что лучше разрабатывать с тем же типом БД, с которым вы будете работать. ХотяЯ мог бы догадаться, почему, кто-нибудь хочет уточнить, почему это предпочтительнее?)

Кроме того, будучи первым пользователем postgresql (и rails newb), похоже, что разработка с postgresql немного сложнее, чемВстроенная функциональность sqlite3.Предлагается ли переключатель?Или я должен найти способ обойти это и придерживаться sqlite3?

Ответы [ 3 ]

2 голосов
/ 31 мая 2011

Вы имеете в виду, что хотите разрабатывать на PostgreSQL, а затем развертывать на Sqlite3?Это не сработает.

Это два очень разных типа механизмов хранения.Sqlite - это просто удобная библиотека для хранения данных и доступа к ним с использованием некоторого подмножества SQL.Postgres - это полнофункциональный сервер базы данных - его нужно установить, ему нужен пользователь, он работает как служба, предпочтительно на выделенном физическом компьютере.Postgres является очень мощным, быстрым и надежным, но также требует много знаний, чтобы приручить его.

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

0 голосов
/ 13 января 2012

Вероятность того, что вас застигнут врасплох, становится меньше, когда вы разрабатываете и развертываете на одной и той же платформе;) Поэтому всегда хорошо работать с одним и тем же БД, а не сталкиваться с пробами позже

0 голосов
/ 28 декабря 2011

Я думаю, вы хотите что-то вроде этого

sqlite3 development.sqlite3 .dump | psql -h localhost -p 5432 -U postgres -W database-development
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...