flyway-spawn-demo
spawn-demo
flyway-spawn-demo | spawn-demo | |
---|---|---|
14 | 1 | |
5 | 14 | |
- | - | |
0.0 | 0.0 | |
about 1 year ago | 9 months ago | |
PLpgSQL | C# | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
flyway-spawn-demo
- Deploying data across environments
- Looking for opinions on spinning up dev/staging environment databases.
-
Creating a Basic CI/CD Pipeline
I used to run databases as containers but then had to manage data seeding as well. Checkout a very handy tool called Spawn
- Database for every PR
- Ephemeral... data?
- Database Image as a service. What do you think?
-
How to get realistic datasets into GitHub codespaces?
Over at Spawn we've been really excited to see the rise of GitHub Codespaces. We're looking forward to hearing about all the exciting improvements that have been made to development processes as a result (like GitHub's own engineering team's improvements!).
-
Going all-in on cloud-based development with realistic databases
Over at Spawn we've been really excited to see the growth of Gitpod. We put together this article discussing remote development through 2020 and 2021 and how cloud-based development environments are an excellent alternative to consider over other options.
- Show HN: Spawn – Throwaway Databases for CI and Development
-
Development databases in Docker aren’t good enough
We've explored migration issues and how running schema migration tests in CI can help in this repo: https://github.com/red-gate/flyway-spawn-demo
spawn-demo
-
Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
Full disclosure way up front: I'm one of the developers working on https://spawn.cc at Redgate and the two scenarios you describe are some examples of exactly what we've built Spawn for.
Not trying to sell you anything (since we are still in beta anyway!) but I'd encourage you to try it out and see if it does what you're looking for. We're in the early stages so any and all feedback is really helpful!
It's a hosted service where you can immediately spin up copies of "data images" (a snapshot of schema and data in a database instance) instantly regardless of the size. As an example, we created a copy of the 400GB public stack overflow DB for development in ~15s.
You can also snapshot the state of the DB at any time and move around those save points whenever you like. Creating a "data image" for later copies is also possible based off the current state of the database, so you can curate data through your web UI, save the state, and then make that dataset available for multiple copies across your dev team.
We've got a couple of repos to show it in action:
- https://github.com/red-gate/spawn-demo
- https://github.com/red-gate/flyway-spawn-demo/actions
As well as a youtube video: https://www.youtube.com/watch?v=sxHtca85CoE
What are some alternatives?
integresql - IntegreSQL manages isolated PostgreSQL databases for your integration tests.
testcontainers-go - Testcontainers for Go is a Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.
otj-pg-embedded - Java embedded PostgreSQL component for testing
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
rush - Production-driven prototyping. This starter is setup in a production-friendly way and will setup tests + dev environment exactly like a live project will work. Works the same both on your laptop or Github CI, so you can go from hacking on your laptop to a full gitops environment.
entr - Run arbitrary commands when files change
django-blog
chazapp