Есть ли в Scala ORM генерация кода из SQL -> Scala? - PullRequest
3 голосов
/ 08 сентября 2011

Я использую Squeryl как ORM с MySQL.Это новый проект, работающий с существующими схемами, которые содержат несколько сотен таблиц.

Насколько я могу судить, ни Squeryl, ни какие-либо из доступных Scala ORM не могут генерировать O (классы Scala) из R (mysql)таблицы).Я полагаю, что не было бы слишком сложно свернуть мою собственную, сканируя информационную схему, но я бы предпочел не дублировать это усилие, если кто-то уже сделал это.

Мне также любопытно, если кто-то можетскажите мне, почему направлением R-> O так часто пренебрегают.По моему опыту, O-> R является исключением, а не правилом.

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

Спасибо.

Ответы [ 3 ]

3 голосов
/ 08 сентября 2011

QueryDSL предоставляет вам утилиту, которая может генерировать код из существующих таблиц. Однако вам следует признать, что это в первую очередь Java-библиотека, и Scala там рассматривается только как расширение.

Полагаю, поддержка R-O - это вопрос времени и отзывов пользователей.

2 голосов
/ 28 января 2013

Существует Squealer , который запрашивает таблицы базы данных и генерирует код scala.Он использует Squeryl и другие библиотеки.
Мне удалось использовать его с минимальной настройкой.

Его gitub здесь

1 голос
/ 09 сентября 2011

Мне любопытно, над какими проектами вы работаете, где вы считаете R-> O правилом.Мой опыт, и я включаю не только свои собственные проекты, но и те, которые другие пользователи Squeryl упоминали в списке рассылки, заключается в том, что большинство проектов Squeryl являются преимущественно новыми приложениями, где база данных SQL используется для сохранения конкретной модели приложения, а немодель, созданная для соответствия существующей схеме.Как и в большинстве проектов ОС, разработчики, как правило, сосредотачиваются, в первую очередь, на функциях, которые им самим нужны, а во-вторых, на функциях, которые наиболее востребованы сообществом, поэтому я бы посоветовал вам заняться этим также в Squeryl Google Group .

...