Search code examples
sqitch

Sqitch - single plan row, multiple sql files


I'm looking to move to sqitch, but my team likes their migrations as multiple files. That is, for example, if we create a foreign key and create an index in the same jira ticket, we like PROJ-123-create-fk.sql and PROJ-123-create-index.sql.

I'd like to keep a single row in the sqitch.plan file, so that each jira ticket corresponds to a single row.

Basically, short of adding lines to sqitch.plan, can I do this? Is there a way to "include" other sql files from a master one? Something like

PROJ-123-main.sql

\include PROJ-123-create-fk.sql
\include PROJ-123-create-index.sql

Thanks so much!


Solution

  • The \ir psql directive solved this for me.

    in PROJ-123-deploy.sql

    \ir PROJ-123-create-fk.sql
    \ir PROJ-123-create-index.sql
    

    If the fk and index sql files are in the same directory, they will be executed.