Использование HSQL MEMORY TABLE с Grails

Можно ли определить какое-то сопоставление в Grails, чтобы CREATE TABLE заменялось на CREATE MEMORY TABLE для определенных доменов Grails?


person Archer    schedule 14.11.2010    source источник


Ответы (2)


Если вы хотите сделать это для всех таблиц, вы можете создать собственный диалект и переопределить getCreateTableString(), но нет способа узнать текущее имя таблицы, поэтому его можно применять выборочно.

Но вы можете воспользоваться подходом, который я предложил здесь: ограниченное создание таблицы Grails. Вы просто переопределите generateSchemaCreationScript(), и если вы найдете таблицы, которые вы ищете, вы можете заменить строку «создать таблицу» на «создать таблицу памяти».

person Burt Beckwith    schedule 14.11.2010
comment
Отличная работа, Берт, этот настраиваемый класс конфигурации — хороший подход. - person leebutts; 14.11.2010

Операторы создания таблицы генерируются функцией Hibernate hbm2ddl. Я не думаю, что есть способ настроить синтаксис оператора создания, кроме самого имени таблицы и столбцов.

Вам придется вручную управлять созданием схемы с помощью плагина, такого как Autobase или Liquibase (или что-то еще, что есть в Grails 1.4 для обработки миграции БД).

person leebutts    schedule 14.11.2010