On May 27, 2018, at 17:52, Rod Taylor <
rod.t...@gmail.com> wrote:
> What I ended up with is each table (including different views using only that table for calculated columns) including it's permissions having it's own file. There is a DDL section at the top which changes table structure and a Permissions section afterward which sets permissions including any functions needed for row level controls.
This is what I do, too, except that views get their own files.
> Dependencies are helpful if you have multiple feature branches being merged into the master branch simultaneously. It ensure the plan throws an error if the plan lines merge in the wrong order. Parallel development across a team is the same motivation for avoiding versioning for migrations as well.
>
> If you're working by yourself and don't have long-lived feature branches it probably isn't a helpful feature.
They really come into their own if you make cross-project dependencies. That is, project foo’s yup change can depend on change widgets in project bar:
yup [bar:widgets] …
So this will fail if the bar Sqitch project is not already deployed, or its widgets change hasn’t been deployed.
> 3. On workflow, am I correct in thinking of Sqitch as "edit deploy/revert files during development up to the latest release tag"? As in, release tags form boundaries below which changes should not be edited. So roughly speaking, the development workflow should be "sqitch rebase --onto @latest_deployment"
>
> That's what I do though rebase by default goes all the way up to the start by default.
Yes, exactly right.
> I wrote a quick wrapper that takes a rebase tag but defaults to the most recent tag: `sqitch tag | tail -n 1`
Hrm. Might be helpful to develop some sort of syntax for the most recent tag.
> Also, I make sure sqitch tags match my git repo tags with both getting stamped at the same time (stamp sqitch, commit, stamp repo, …)
Yeah, I try to do this, too. I always planned to make it so that Sqitch could integrate more tightly with VCSes, but it was never a priority at work, so I never got around to it. One idea, for example, was to bootstrap a Sqitch plan from an existing repo by reading the history and writing changes for past commits, tags for past tags, etc. Kind of a special case, though.
D