otj-pg-embedded
spawn-demo
otj-pg-embedded | spawn-demo | |
---|---|---|
6 | 1 | |
666 | 14 | |
0.2% | - | |
6.4 | 0.0 | |
14 days ago | 9 months ago | |
Java | 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.
otj-pg-embedded
-
Testcontainers
Anyone have an opinion of embedded-postgres vs https://github.com/opentable/otj-pg-embedded (of which its a fork) for Clojure use?
-
What's the best approach for creating an embedded Postgresql to be used in production?
Can you elaborate a bit on this part? I'm still unsure why it's unadvised to do this, as I understood from other commenters it's because there is no official support for it correct? Why can't I use opentable for instance? https://github.com/opentable/otj-pg-embedded
-
SQLite Is Dynamically Typed (2020)
It's pretty easy to run embedded postgres on the JVM: https://github.com/opentable/otj-pg-embedded
The defaults create a temporary DB which is useful for dev & tests, but a pair of calls to .setCleanDataDirectory(false) and .setDataDirectory("...") will change that.
If you don't like the default postgres version, you may select one from https://search.maven.org/search?q=io.zonky.test.postgres or include your own postgres binary.
- Experiment: using PostgreSQL as a user process
-
Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
I've been using this embedded PostgreSQL thing for tests:
https://github.com/opentable/otj-pg-embedded
It's very simple to use and works perfectly. The one problem, and it's a significant one, is that it only ships one version of PostgreSQL, and adding another was difficult enough that I didn't.
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?
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.
integresql - IntegreSQL manages isolated PostgreSQL databases for your integration tests.
Testcontainers - Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
flyway-spawn-demo - CI demo using Flyway and Spawn
postgresql-embedded - Embedded PostgreSQL Server
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.
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test