Shipping a Cloudflare Worker with empty D1 from day one
A clean schema lifecycle beats patching production tables. How I bootstrap bindings, migrations, and a first successful deploy without legacy baggage.
Engineering Notes
Notes on systems, tools, and building on the web.
I write practical notes from real projects: Cloudflare Workers, data models, production debugging, and the small tooling choices that keep systems reliable.
A clean schema lifecycle beats patching production tables. How I bootstrap bindings, migrations, and a first successful deploy without legacy baggage.
Expanding the query window and filtering by Asia/Hong_Kong local dates fixed a whole class of “missing today’s items” bugs.
Remote image URLs look convenient until they fail quietly. Fetching bytes in the Worker and uploading multipart is the path that actually sticks.
Single-user access, quiet empty days, and manual commands over noisy digests. Constraints that make automation feel calm instead of chatty.
PowerShell paths, UTF-8 writes, and portable Node setups that survive when Git or Unix assumptions are missing from the machine.