3 ms·
1. True, but it depends on the size of your data set. If you just want the tables but not the full prod data, backups may not be usable as-is for this purpose.
by evanelias 8y ago
1. True, but it depends on the size of your data set. If you just want the tables but not the full prod data, backups may not be usable as-is for this purpose.
2. What if you want to capture the set of local dev changes, rather then destroying and starting over? Most migration tools that I've seen don't have diff logic built-in, so they have no way of saying "take whatever I did to the dev db, and capture that state in the filesystem, so that I can turn it into a pull request". Whereas in Skeema you can simply run `skeema pull development` and then `git diff` / commit / etc.
3. Agreed; but the more automated tooling, the better IMO. Otherwise it's easy for a code review to overlook something like the wrong table name or column name being used in a migration rollback, due to bad copypasta. And in an environment where schema changes occur quite frequently, I'd be surprised if QA always involves testing and confirming every single rollback.
re: your last question, that operation is a mix of DDL and DML... I'd agree that the declarative approach doesn't natively handle it, since DML isn't declarative. My personal advice as a database professional is to treat that example as a data migration, managed separately from pure schema changes. Migrations of this sort should be less common -- as well as riskier to execute due to deploy-order considerations.
FWIW, I'm approaching all this from a background of consumer-facing web/mobile tech companies, where schema changes need to occur quite often, and making them automated/self-service is game-changing. Processes/requirements will certainly be a bit different for traditional enterprise, finance, etc.
On a side note, it's really good to run into you here tracker1! It's been a long time. Are you still involved in the BBS scene?
- tracker1 8y agoOn you fwiw, I understand. Different environments can have different challenges. Right now, I'm working on enterprise/corporate style software that is deployed into government organizations, where the versioning between Agency A and Agency B may be at different deployments and wanting to bring both to the current version prior to the next election cycle. Currently using SQL project in VS, which I'm not a big fan of, as I think upgrading could be very challenging. Fortunately there's a long window between necessary releases, and other challenges with legal requirements get interesting. On BBSing, on several BBS groups via FaceBook... I've been pretty hands off, would like to get a board up. I put bbs.io on freedns.afraid.org for dyndns support, and have BBS.land if I ever get around to doing anything with it. It's hard to find motivation after hours to work on stuff. Also been wanting to get my board back up. Didn't realize you open-sourced tournament trivia. Was recently thinking of reaching out recently to try and get a bigger doormud instance running.
- evanelias 8y agoAwesome, I'll send you an email soon! Don't want to go too far off-topic in this thread :)