Skip to content
afterbuild.dev

It says saved and there is no row in the database

The most confusing failure of the set, because everything reports success.

Seen in apps built with Lovable.

76 of 100

Lovable projects have no database migrations at all, which means the schema was built by clicking and left no trace in the repository.

100 public Lovable repositories, read 2026-08-03 · method and scripts in the measurements

What is actually happening

A browser app talks to the database directly, and the database decides for itself what that visitor is allowed to do. When a rule refuses a write, the refusal can arrive as an ordinary response rather than as an error.

If the code does not inspect that response — and generated code frequently does not — the interface shows success, because nothing threw.

We can measure how many projects keep their schema in the repository: 24 of 100 do. For the remaining 76 the rules exist only inside a panel, and no amount of reading the code will tell you what they say.

Fixing it yourself

Where it stops being a small job

Almost immediately. Rules that decide who may read and write depend on what your application means — which user owns which record, who may see what. That cannot be generated from the code, and it is the one part of this list we would not attempt without understanding what the app is for.

This is the one on the list we would not attempt without understanding what your app is for. If you have hit it, that conversation is worth having properly.

Send us the app