frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

CLI to manage your SQL database schemas and migrations

https://github.com/gh-PonyM/shed
30•PonyM•12h ago

Comments

Shorel•11h ago
Good may be an alternative to Alembic, so we can get rid of the Python requirement =)

(Checks it out...)

Ahh, this is also Alembic.

Hasnep•11h ago
I've been looking at Atlas as an alternative to Alembic recently, it seems nice, but I'm wary of the non open source features.

https://github.com/ariga/atlas

leosanchez•9h ago
I use goose[1] for db migrations.

[1]: https://github.com/pressly/goose

ghthor•4h ago
Goose is great, been using it for many years and is my goto db schema manager.

Love how you can write you migrations in go using goose and mix in raw sql migrations as well. Allows for great flexibility when doing complicated migrations and enables writing unit tests for migrations with regular go test

juangacovas•10h ago
I like when projects like this mention other projects. "Phinx" (PHP) has been a breeze to work with for database migrations for years now, and handles more than my team needs. Meanwhile, some time ago a colleague in other job was raging they didn't have migrations but a chaos of DBs in their environments.
hdjrudni•10h ago
This one company I worked for created like 5 databases for every client they had.

So we had hundreds of databases. And no migrations or way to keep them in sync.

One day I got fed up and ran some statistical analysis on all the databases to find inconsistencies and figure out what the most popular schemas were, because sometimes even when they had the same table and column names, the types were slightly different.

I don't recall if I managed to get them all in sync before I quit.

8cvor6j844qw_d6•10h ago
I mostly used ORM to manage db changes.
whilenot-dev•10h ago
> This will create a config file for local and prod databases using sqlite for local and postgres for prod.

Hold on, people actually do that? I thought it's trivial to run your database in a container locally.

dewey•8h ago
Especially if you use any of the features that make Postgres nice to work with (For example good jsonb handling) these are immediately different than on sqlite and then won't work for development. Don't think there's a good reason for not running the same DB in both environments.
aforwardslash•4h ago
You dont even need to look into advanced features; sqlite does not support ILIKE.
evanelias•3h ago
To be fair, most databases don't, since ILIKE is not in the SQL standard.
bob1029•9h ago
If you happen to be using MSSQL or Postgres, the Redgate tools are a game changer for schema management. I was a big fan of using things like EF and custom code to handle schema migrations until I tried SQL Compare. These tools make normalizing a large number of instances significantly easier. If you've got a multi tenant setup where everything should have the same schema, you could fix the whole fleet in an afternoon.

For SQLite, I still vastly prefer using custom code to run migrations. Something about the ownership model makes manual external tooling feel inappropriate.

bytefish•8h ago
If you are using SQL Server, then SQL Server Database Projects are an amazing tool to work with. I found them to generate high-quality migration scripts and it makes it easy to diff against an existing database.

ORMs are good up until the point you need to include SQL Views, Stored Procedures, Functions, User-defined Types… which is usually the point the ORM abstractions begin to crack (and every SQL Server database I use include them).

For PostgreSQL I usually hand-write the scripts, because it is easier, than fighting against an ORM.

I heard the Redgate tooling is also great to work with, but I’ve never used it personally.

a8m•8h ago
Good point regarding ORMs - that was one of the main problems I wanted to tackle when we built Atlas (https://atlasgo.io). We added support for reading ORM definitions directly, then let you extend the "base schema" defined in them. For example, you can define your models in SQLAlchemy, EF Core, Ent, or others as a partial schema, and then extend it with functions, views, and additional objects.

From there, Atlas handles diffing, planning, and execution. This is similar to importing modules in TF, but for database schemas in Atlas. See this example: https://atlasgo.io/guides/orms/sqlalchemy

Disclaimer: I'm involved with Atlas.

_def•7h ago
Tangential, but anyone can suggest their favorite SQL client? Many years ago on Windows I enjoyed HeidiSQL, and while you can kind of use it with wine, it doesn't make a stable impression to me.

Recently I found mycli[1], which seems slightly better than the official mariadb cli client, but still a bit cumbersome.

[1] https://github.com/dbcli/mycli

sdssddxxffds•6h ago
Yhhjkj
notorandit•1h ago
If it's a declarative tool, then "yes, thanks".

But if it's not, then "no thanks", I already have my native CLI tools bundled with my RDBMS.

At the end you use Git bisect

https://kevin3010.github.io/git/2025/11/02/At-the-end-you-use-git-bisect.html
51•_spaceatom•1h ago•35 comments

"Why don't you use dependent types?"

https://lawrencecpaulson.github.io//2025/11/02/Why-not-dependent.html
90•baruchel•3h ago•24 comments

Tongyi DeepResearch – open-source 30B MoE Model that rivals OpenAI DeepResearch

https://tongyi-agent.github.io/blog/introducing-tongyi-deep-research/
142•meander_water•6h ago•38 comments

Rats filmed snatching bats from air for first time

https://www.science.org/content/article/rats-filmed-snatching-bats-air-first-time
46•XzetaU8•5d ago•24 comments

Autodesk's John Walker Explained HP and IBM in 1991

https://www.cringely.com/2015/06/03/autodesks-john-walker-explained-hp-and-ibm-in-1991/
71•suioir•4d ago•37 comments

URLs are state containers

https://alfy.blog/2025/10/31/your-url-is-your-state.html
215•thm•7h ago•113 comments

X.org Security Advisory: multiple security issues X.Org X server and Xwayland

https://lists.x.org/archives/xorg-announce/2025-October/003635.html
50•birdculture•5h ago•22 comments

Writing FreeDOS Programs in C

https://www.freedos.org/books/cprogramming/
33•AlexeyBrin•4h ago•11 comments

Mock – An API creation and testing utility: Examples

https://dhuan.github.io/mock/latest/examples.html
90•dhuan_•6h ago•17 comments

Backpropagation is a leaky abstraction (2016)

https://karpathy.medium.com/yes-you-should-understand-backprop-e2f06eab496b
249•swatson741•13h ago•109 comments

Anti-cybercrime laws are being weaponized to repress journalism

https://www.cjr.org/analysis/nigeria-pakistan-jordan-cybercrime-laws-journalism.php
13•giuliomagnifico•14m ago•0 comments

New South Korean national law will turn large parking lots into solar farms

https://electrek.co/2025/11/02/new-national-law-will-turn-large-parking-lots-into-solar-power-farms/
59•thelastgallon•3h ago•30 comments

Notes by djb on using Fil-C (2025)

https://cr.yp.to/2025/fil-c.html
210•transpute•12h ago•108 comments

A prison of my own making

https://jsteuernagel.de/posts/a-prison-of-my-own-making/
32•todsacerdoti•5h ago•5 comments

Visopsys: OS maintained by a single developer since 1997

https://visopsys.org/
424•kome•20h ago•102 comments

Go Primitive in Java, or Go in a Box

https://donraab.medium.com/go-primitive-in-java-or-go-in-a-box-c26f5c6d7574
48•ingve•1w ago•19 comments

Welcome to hell; please drive carefully

https://2earth.github.io/website/20251026.html
63•2earth•5d ago•23 comments

A man who changes the time on Big Ben

https://www.mylondon.news/news/zone-1-news/meet-man-who-changes-time-32715300
18•simmerup•1w ago•12 comments

Matched Clean Power Index

https://matched.energy/blog/matched-clean-power-index-is-live
28•bensg•6h ago•21 comments

Claude Code can debug low-level cryptography

https://words.filippo.io/claude-debugging/
407•Bogdanp•23h ago•190 comments

OpenBSD 7.8 Highlights

https://rsadowski.de/posts/2025/openbsd-78/
16•zdw•1w ago•2 comments

Updated practice for review articles and position papers in ArXiv CS category

https://blog.arxiv.org/2025/10/31/attention-authors-updated-practice-for-review-articles-and-posi...
475•dw64•1d ago•222 comments

How I use every Claude Code feature

https://blog.sshh.io/p/how-i-use-every-claude-code-feature
402•sshh12•18h ago•145 comments

HyperRogue – A non-Euclidean roguelike

https://roguetemple.com/z/hyper/
108•stared•6h ago•28 comments

Pomelli

https://blog.google/technology/google-labs/pomelli/
240•birriel•19h ago•108 comments

FlightAware Map Design

https://andywoodruff.com/posts/2024/flightaware-maps/
78•marklit•6d ago•22 comments

Context engineering

https://chrisloy.dev/post/2025/08/03/context-engineering
65•chrisloy•9h ago•34 comments

LM8560, the eternal chip from the 1980 years

https://www.tycospages.com/other-themes/lm8560-the-eternal-chip-from-the-1980-years/
97•userbinator•13h ago•34 comments

GHC now runs in the browser

https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169
337•kaycebasques•1d ago•116 comments

Show HN: Anki-LLM – Bulk process and generate Anki flashcards with LLMs

https://github.com/raine/anki-llm
6•rane•4h ago•1 comments