Генерация SQL-запросов с Ruby - PullRequest
3 голосов
/ 03 мая 2011

Я хочу простой способ генерировать SQL-запросы в Ruby. Я знаю все об ActiveRecord, Sequel и DataMapper. Я не ищу ORM, а просто более простой способ генерировать строки операторов SQL.

Я использую RBHive для выполнения запросов Hive и хотел бы получить простой способ создания операторов запросов Hive.

Конечно, это существует (AR и т. Д.), И я посмотрел на Arel , что выглядит многообещающе. Но не могу понять, как убрать части генерации операторов SQL из популярных библиотек ORM. Все требует подключения к серверу базы данных.

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

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 15 сентября 2012

Вы сказали

Все требует подключения к серверу базы данных.

Я думаю, по крайней мере с Sequel вы можете использовать фиктивную базу данных:

require 'sequel'
DB = Sequel::Database.new() #-> <Sequel::Database: >
puts DB[:test].sql          #-> SELECT * FROM "TEST"
2 голосов
/ 03 мая 2011

Вы правы, вы ищете Arel, который используется для построения AST для операторов SQL и не требует подключения к базе данных.

Синтаксис довольно сильно отличается от того, что вы привыкли видеть. Так что знайте.

Прочтите README здесь, чтобы понять, имеет ли это для вас смысл:

https://github.com/rails/arel

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