2009-12-04 3 views
5

Мы пытаемся создать построитель запросов SQL, который позволит пользователям делать запросы с помощью визуальной помощи.
У нас есть передняя часть, в которой все работает, и пользователь может выбирать таблицы, добавляя условие и т. Д. Однако наш бэкэнд - это беспорядок, поскольку мы пытаемся сделать эти запросы строкой, беря условия от пользователя, а затем создаем соответствующие строки SQL в наших моделях.
В конечном итоге это будет очень сложно и сложно поддерживать, поскольку мы добавляем поддержку для более сложных запросов. Кто-нибудь знает о плагине sql builder, который мы можем использовать, или лучший способ приблизиться к этому.SQL query builder в rails

+0

Посмотрите на QueryBuilder: http://zenadmin.org/en/zafu/page443.html. Вам нужно написать процессор дерева AST, но это довольно простая задача, и вы можете делать это постепенно, когда добавляете больше функций. – gaspard

ответ

3

Отъезд arel. A fork этого проекта теперь используется в Rails 3, чтобы помочь с агностицизмом ORM.

+0

Как использовать Squeel (https://github.com/ernie/squeel) для этого варианта использования? –

0

Я также попытался построить один из них. На самом деле я пытается построить один прямо сейчас. Это очень расстраивает, багги. Эти ссылки могут быть полезны.

Использование записи фильтра, чтобы сделать сложные запросы, имеет смысл. Я пытаюсь использовать подход, в котором я беру строку запроса от пользователя в формате Json. Затем преобразуйте эту строку в синтаксис синтаксиса записей, для этого потребуется разбор всей строки. После того, как мы проанализировали строку и если она в правильном синтаксисе, я просто eval и получаю результаты.

+0

Спасибо за информацию Waseem! –