понедельник, 20 августа 2012 г.

Dev database

HQSQL крут тем что сама БД в файл сохраняется как SQL скрипт который её создаёт и начиняет данными.

Это очень удобно, не нужно дополнительного клиента чтобы посмотреть содержимое БД.
Можно ложить его в VCS и отслеживтаь изменения.

А вот H2 так не умеет, у него БД имеет бинарный формат. Это кстати странно, потому что H2 разрабатывал автор HQSSQL, и вообще H2 значит Hipersonic 2.
Ну, ну конечно, можно дампится в SQL и его уже ложить под контроль VCS, но зачем лишние телодвижения?

2 комментария:

  1. Во-первых, H2 очень удобно использовать для быстрой разработки, но она предназначена не для этого.

    Во-вторых, в H2 дамп базы в SQL делается одной sql командой:
    http://h2database.com/html/grammar.html#script
    Или из командой строки:
    http://h2database.com/javadoc/org/h2/tools/Script.html#main_String...
    Его так же удобно хранить в VCS

    В-третьих, если база имеет индексы, как ты их собираешься хранить в текстовом виде? И вообще, для чего их хранить в VCS?

    Боттом лайн: поосторежнее с высказываниями в адрес моей любимой СУБД!

    ОтветитьУдалить
    Ответы
    1. Это да, H2 в этом плане просто прелесть. Беда только в том что если раньше мне нужен был только текстовый редактор, то теперь нужно делать лишние телодвижения или автоматизировать используя DBMaintain или LiqueBase и усложнять инфраструктуру.
      Зато радует что если разобрался с этими инструментами то потом их внедрение не отнимает много времени.
      В любом случае идея SQL формата БД была замечательной, и стоило оставить право выбора между SQL и двоичным форматом разработчику, по умолчанию оставив SQL.

      Удалить