Я столкнулся с некоторой проблемой при заказе выполнения sql.
У нас есть один файл сценария sql для каждой таблицы в одном каталоге. Пример: в каталоге c:\SqlScripts есть файлы user.sql и role.sql. Мы используем плагин sql maven для выполнения этих файлов sql.
В таблице ролей есть ключ Foriegn для пользовательской таблицы, и выполнение завершается ошибкой, потому что подключаемый модуль пытается выполнить role.sql перед user.sql. Я не могу использовать атрибут orderfile, поскольку мы указываем как c:\SqlScripts*.sql.
Как мне преодолеть эту проблему?
Я вижу 2 решения:
Объедините все скрипты в один файл в порядке создания, скрипт для создания роли идет после скрипта для создания пользователя.
Уберите подстановочный знак * и укажите каждый файл в атрибуте в порядке выполнения.
Пронумеруйте имена файлов в соответствии с порядком выполнения, например: 1_user.sql, 2_role.sql и используйте атрибут файла порядка «по возрастанию» (хотя не уверен, что это сработает, поскольку порядок может не применяться)
Есть ли более элегантные решения?