I am facing some problem in ordering the sql execution.
We have one sql script file for each table under one directory. Ex: There is user.sql and role.sql in the directory c:\SqlScripts. We are using the sql maven plugin to execute these sql files.
The role table has a Foriegn key to the user table and the execution is failing because the plugin is trying to execute the role.sql before user.sql. I cannot use the orderfile attribute as we specify the as c:\SqlScripts*.sql.
How do I overcome this problem?
I see 2 solutions:
Merge all scripts into one file in the creation order, the script to create role comes after the script to create user.
Remove the * wildcard and specify each file in the attribute in the order of execution.
Number the name of the files according to the execution order ex: 1_user.sql, 2_role.sql and use the 'ascending' orderfile attribute(not sure if this would work though, as the ordering may not be applied)
Any more elegant solutions?