dbmate
golang-samples
Our great sponsors
dbmate | golang-samples | |
---|---|---|
25 | 3 | |
4,345 | 4,142 | |
- | 1.0% | |
8.1 | 9.4 | |
6 days ago | 8 days ago | |
Go | Go | |
MIT License | 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.
dbmate
-
Ask HN: What tool(s) do you use to code review and deploy SQL scripts?
A regular code repo with the scripts (with pull/merge requests for review) and then a CI job that builds containers with something like dbmate https://github.com/amacneil/dbmate that can then be run against any staging/prod environment.
-
Level UP your RDBMS Productivity in GO
As we want to maintain the track of our changes to the DB, we are going to use migrations. In this case, we are going to use dbmate. But, you can use any other tool you want.
-
Rails 7.1 Released
> For example having database migrations built in etc.
I actually went the exact opposite route, at least when possible: https://github.com/amacneil/dbmate
Pure SQL migrations, regardless of the back end technology that you use, completely decoupled from how each framework/library views things and therefore not dependent on them (you could even rewrite the back end in another technology later on, if needed; or swap ORMs; or avoid issues when there's a major ORM version update).
It's really nice when you can generate entity mappings based on a live database, like with https://blog.jetbrains.com/dotnet/2022/01/31/entity-framewor...
So in my case, I can have:
* a DB that has migrations applied with dbmate, completely decoupled from any back end(s) that might use it
- FLaNK Stack Weekly 2 October 2023
-
How do your teams run DB migrations?
You can run dbmate as part of your CI/CD pipeline. You just keep a dbmate directory in your repo and deploy migrations with your code.
-
Working with TypeORM 0.3x with Nestjs - I wasn't aware so many people were facing issues with it
In general with ORMs, you will face a problem in one way or another. I ended up simply using https://github.com/gajus/slonik and https://github.com/amacneil/dbmate for migrations. My life is way much better since then.
-
what do you use for migrations? or how do you the sql tables and seeding?
I like dbmate, super simple and straightforward to use. For your specific use case, it can also be configured using your .env!
- GORM
-
New post: Is Prisma better than your 'traditional' ORM?
Would always go for a language agnostic migration tool, e.g. https://github.com/amacneil/dbmate to stay flexible and stay away from lock-in effects (besides sql).
- I greatly dislike ORMs, but I find myself wanting ORM agnostic SQL migration tools. What do you use to perform RDBMS table migrations outside of an ORM?
golang-samples
-
How to discover personal data in cloud storage
You can find an example of the function code for analyzing the data store on Google Cloud’s Github.
-
Ask HN: Solo-preneurs, how do you DevOps to save time?
Choose a platform like App Engine. It's auto-scaling. Supports bigtable. And opentelemetry. Manageable from anywhere via Cloud Shell. You can run multiple instances and partition load between them. Even includes a free tier ;)
https://github.com/GoogleCloudPlatform/golang-samples
-
GCP Cloud Run: containers without Dockerfile
# Source: https://github.com/GoogleCloudPlatform/golang-samples/blob/master/run/helloworld/Dockerfile FROM golang:1.16-buster as builder # Create and change to the app directory. WORKDIR /app # Retrieve application dependencies. # This allows the container build to reuse cached dependencies. # Expecting to copy go.mod and if present go.sum. COPY go.* ./ RUN go mod download # Copy local code to the container image. COPY . ./ # Build the binary. RUN go build -mod=readonly -v -o server # Use the official Debian slim image for a lean production container. # https://hub.docker.com/_/debian # https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds FROM debian:buster-slim RUN set -x && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ ca-certificates && \ rm -rf /var/lib/apt/lists/* # Copy the binary to the production image from the builder stage. COPY --from=builder /app/server /app/server # Run the web service on container startup. CMD ["/app/server"]
What are some alternatives?
sqlite-bench - PostgreSQL & SQLite Speed Test
bank-of-anthos - Retail banking sample application showcasing Kubernetes and Google Cloud
goose - A database migration tool. Supports SQL migrations and Go functions.
nixpkgs - Nix Packages collection & NixOS
Flyway - Flyway by Redgate • Database Migrations Made Easy.
DayZ-Expansion-LoadingScreen-Sample - DayZ Expansion LoadingScreen Sample.
liquibase - Main Liquibase Source
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
migra - Like diff but for PostgreSQL schemas
reisen - A simple library to extract video and audio frames from media containers (based on libav).
SQLBoiler - Generate a Go ORM tailored to your database schema.
kmm-basic-sample - Example of Kotlin multiplatform project