Порядок выполнения плагина Maven SQL - PullRequest
0 голосов
/ 14 октября 2010

У меня возникла проблема с упорядочением выполнения SQL.

У нас есть один файл сценария SQL для каждой таблицы в одном каталоге.Пример: в каталоге c: \ SqlScripts находятся user.sql и role.sql.Мы используем плагин sql maven для выполнения этих файлов sql.

Таблица ролей имеет ключ Foriegn для пользовательской таблицы, и выполнение не выполняется, поскольку плагин пытается выполнить role.sql перед user.sql.Я не могу использовать атрибут orderfile, поскольку мы указываем как c: \ SqlScripts * .sql.

Как мне решить эту проблему?

Я вижу 2 решения:

  1. Объединение всех сценариев в один файл в порядке создания, сценарий дляСоздание роли происходит после сценария для создания пользователя.

  2. Удалите подстановочный знак * и укажите каждый файл в атрибуте в порядке выполнения.

  3. Пронумеруйте имена файлов в соответствии с порядком выполнения, например: 1_user.sql, 2_role.sql и используйте атрибут orderfile «по возрастанию» (хотя не уверен, что это сработает, поскольку порядок может не применяться)1022 *

Какие-нибудь более изящные решения?

1 Ответ

0 голосов
/ 14 октября 2010

Я не могу использовать атрибут orderfile, поскольку мы указываем как c: \ SqlScripts * .sql.

Очевидно, это будет работать, только если у вас нет строгих требований к оформлению заказа. Если вы делаете ...

Как мне преодолеть эту проблему?

... используйте настройку, которая позволяет детально определять порядок.

Я вижу 3 решения (...). Есть более элегантные решения?

Я думаю, ты прибил. Мои предпочтения переходят к варианту 3.

...