This sort of thing is useful, but already supported by Postgres through transactional DDL. Migrations that fail will have their transaction reverted.
Show HN: Stellar – Git for PostreSQL and MySQL
11–20 of 79 posts
Re: Show HN: Stellar – Git for PostreSQL and MySQL
#12So for example, you might have a feature branch that includes some schema changes and some value modifications, and a content branch that includes a bunch of inserts into a few content tables that happen to include foreign key references to each other (so you need to maintain referential integrity when replaying those updates/inserts).
I don't see anything in the description that indicates this tool address those problems. For me, those are really the only problems that a DB version control system ought to be focused on. Speed of snapshotting is not all that important in a development environment as you typically work on a cut-down dataset anyway. A minute or so to take a snapshot a few times a day isn't a huge deal, whereas taking more frequent snapshots doesn't seem like something that adds any value, if it doesn't address any of the other problems.
Re: Show HN: Stellar – Git for PostreSQL and MySQL
#13Re: Show HN: Stellar – Git for PostreSQL and MySQL
#14This sort of thing is useful, but already supported by Postgres through transactional DDL. Migrations that fail will have their transaction reverted.
Re: Show HN: Stellar – Git for PostreSQL and MySQL
#15 INSERT INTO %s.%s SELECT * FROM %s.%s
Yeah, good luck with that.Re: Show HN: Stellar – Git for PostreSQL and MySQL
#16Unfortunate name, excellent project :)
Re: Show HN: Stellar – Git for PostreSQL and MySQL
#17I can't imagine this would be kind to a production database (lots of cleanup from copied & deleted tables), and would consume a lot more space than a gripped logical backup of the tables in question.
Re: Show HN: Stellar – Git for PostreSQL and MySQL
#18Re: Show HN: Stellar – Git for PostreSQL and MySQL
#19Re: Show HN: Stellar – Git for PostreSQL and MySQL
#20Generally the hardest thing with version control on a database (for an evolving codebase) is separating unrelated changes - such as schema changes vs content updates - and branching and merging those changes in sync with the code dependencies. Another issue is non-destructively replaying development changes into test/production environments. So for example, you might have a feature branch that includes some schema ch…