Как поддерживать сценарии SQL при разработке приложения, работающего со многими базами данных - PullRequest
0 голосов
/ 12 марта 2011

Представьте себе приложение, которое должно работать с разными поставщиками баз данных.Как мы все знаем, синтаксис для SQL (особенно DDL) не переносим.Как вы справляетесь с обслуживанием сценариев SQL?

До сих пор я вижу три варианта:

  • для хранения SQL в формате одной из баз данных и инструмента, которыйавтоматически конвертирует из одного синтаксиса в другой (знаете ли вы такие инструменты?)
  • для хранения SQL на каком-то искусственном языке и инструмента, способного генерировать специфичные для поставщика SQL по запросу (какие-либо рекомендации здесь?)
  • для хранения SQL во многих форматах баз данных, пренебрегая избыточностью (это наихудший вариант, не правда ли?)

    Вы рекомендуете какой-либо из них?У вас есть идея получше?

Среда разработки пытается следовать принципам непрерывной интеграции, поэтому автоматизация является ключевой особенностью.

Ответы [ 3 ]

1 голос
/ 14 марта 2011

Посмотрите на Liquibase (это, по сути, ваш второй элемент в списке)

http://www.liquibase.org

Он не идеален (например, он не поддерживает проверочные ограничения), но весьма полезен

1 голос
/ 12 марта 2011

В этом видео показано решение с использованием проекта Subsonic http://subsonicproject.com/docs/Using_SimpleRepository и его возможностей переноса данных. Стратегия состоит в том, чтобы использовать общий язык и применять его к различным базам данных.

Надеюсь, это то, что вы искали

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

Использовать некую платформу ORM с возможностью генерации схемы.

...