Выполнение произвольных SQL-запросов в Ruby - PullRequest
3 голосов
/ 03 марта 2011

Мне только что поручено автоматизировать задачу отчетности на работе.Ранее кто-то запускал большие произвольные SELECT s в базе данных MySQL с помощью инструмента с графическим интерфейсом, а затем использовал этот же инструмент для экспорта результатов в CSV.Теперь я хочу написать скрипт Ruby для этого.

Я знаю о FasterCSV в Ruby, но что касается запросов SQL, я использовал только ActiveRecord, где вы обычно не пишете запросы, а используетемодели и ассоциации.В последний раз я писал полный SQL-код в коде, когда кодировал PHP.

Какой самый простой способ сделать подобное в Ruby? Должен ли использовать ActiveRecord?

Ответы [ 3 ]

3 голосов
/ 03 марта 2011

Если вы пишете сложное приложение, нет ничего плохого в использовании ActiveRecord. Тем более, что вам это уже удобно.

Если вы пишете быстрый скрипт и не хотите беспокоиться о ActiveRecord, вам также следует проверить гемы mysql и mysql2 .

2 голосов
/ 03 марта 2011

Я настоятельно рекомендую Продолжение . Он имеет отличную документацию , активное развитие , процветающее и полезное сообщество, и это (IMHO) проще и лучше, чем ActiveRecord, особенно для простых случаев использования, таких как у вас, кажется, есть.

Возможно, вы захотите начать с чтения README , Шпаргалка и Продолжение для пользователей SQL .

0 голосов
/ 03 марта 2011

Я часто нахожу, что в механизмах отчетности вы получаете сложные запросы, обрабатывающие большие объемы данных, а ORM, такие как ActiveRecord, просто не обрезают их.Если ваши отчеты не очень просты, я думаю, что вы захотите использовать сырой SQL (с помощью такого инструмента, как Sequel) или вызывать хранимые процедуры.

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