tern
The SQL Fan's Migrator (by jackc)
videos
Slides and examples used for my training videos (by MarioCarrion)
Our great sponsors
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
tern
Posts with mentions or reviews of tern.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-14.
-
Ask HN: What tool(s) do you use to code review and deploy SQL scripts?
We have a repo with migrations written in SQL, and we use tern[1] to apply them.
-
database migrations
If you are using postgres and pgx you may want to use tern.
-
Database migration tool
Recently i started using turn its more fun (IMPO) compared to others tool available https://github.com/jackc/tern
-
How do you handle migrations ?
We use https://github.com/jackc/tern library (from the author of the pgx driver). We run migrations in k8s init containers and we do not do rollbacks (only up). Advantages over other popular solutions are:
-
what do you use for migrations? or how do you the sql tables and seeding?
I’ve been happy with https://github.com/jackc/tern .
-
orms in go
I use tern for migrations. It’s from the same Author as pgx so everything in that ecosystem plays well.
-
Pulling my hair out trying to install go v1.18
Now my next issue is I'm trying to install tern using the "go versions 1.17 and higher" instructions in the docs here https://github.com/jackc/tern
- Is there a Go alternative to dbdeploy?
-
Does Go have a nice library for database migrations etc without necessarily being a full ORM?
I use https://github.com/jackc/tern + .env files which interpolate with its config for various environments.
-
What migration/versioning tool do you use?
Tern is a great language and framework agnostic solution for SQL migrations https://github.com/jackc/tern
videos
Posts with mentions or reviews of videos.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-28.
- NvimTree vs NeoTree
-
Discussion: about "go install" versus brew when available
You can also do something similar with direnv for example (see 1 and 2); and even better if you use the tools.go paradigm then you can have different versions of your binaries relative to your project as well.
-
How to generate translations for multiple packages inside same module
Example for reference.
-
Go Package for testing HTTP interactions: github.com/dnaeon/go-vcr
Please refer to the full example code for more details.
-
Go Package for Mocking HTTP Traffic: github.com/h2non/gock
There's a simple CLI tool I built for requesting OpenWeather information using their API, please refer to the final repository for actually running the full examples.
-
Set struct in Redis
You don't mention what package you're using, but if you're using github.com/go-redis/redis/ you can marshal your struct using encoding/go and then use the SET and SET commands because for Redis everything is bytes, see https://github.com/MarioCarrion/videos/blob/main/2021/03/11-golang-microservices-caching-redis/redis.go I have video covering that exactly: https://youtu.be/wj6-w0DLKRw
-
Building Microservices in Go: Accessing PostgreSQL Databases - Part 1
The full code example mentioned in this post is available on Github, please make sure to read the README for specifics.
-
Building Microservices in Go: Caching using memcached
The code of the examples below are available on Github.
-
Go Package for Equality: github.com/google/go-cmp
Below there are some code snippets, please refer to the final repository for actually running the complete code examples.
-
Go Tools: For database schema migrations
Repository including the code example.
What are some alternatives?
When comparing tern and videos you can also consider the following projects:
migrate - Database migrations. CLI and Golang library.
Memcached - memcached development tree
migrations - SQL database migrations for Golang go-pg and PostgreSQL
gobuffalo/pop - A Tasty Treat For All Your Database Needs
goose - A database migration tool. Supports SQL migrations and Go functions.
dbmate - :rocket: A lightweight, framework-agnostic database migration tool.
go-database-sql-tutorial - A tutorial for Go's database/sql package
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
postgresql-migrations - Simple Schema Migrations for PostgreSQL
go-cmp - Package for comparing Go values in tests