-- AlterTable: off-catalog technique "placeholder" rows (issue #130, puce 3 -- de #3) — a user names a technique the catalog is missing while correcting a -- step. Every existing row is a real seeded catalog entry, so the flag -- defaults to false and the four new nullable columns stay NULL for them — -- no backfill needed. Mirrors the `ingredients` placeholder migration. ALTER TABLE "tech_step" ADD COLUMN "is_placeholder" BOOLEAN NOT NULL DEFAULT false; ALTER TABLE "tech_step" ADD COLUMN "display_name" TEXT; ALTER TABLE "tech_step" ADD COLUMN "created_by_id" INTEGER; ALTER TABLE "tech_step" ADD COLUMN "created_at" TIMESTAMP(3); ALTER TABLE "tech_step" ADD COLUMN "reviewed_at" TIMESTAMP(3); -- CreateIndex CREATE INDEX "tech_step_is_placeholder_idx" ON "tech_step"("is_placeholder"); -- AddForeignKey ALTER TABLE "tech_step" ADD CONSTRAINT "tech_step_created_by_id_fkey" FOREIGN KEY ("created_by_id") REFERENCES "user_profiles"("id") ON DELETE SET NULL ON UPDATE CASCADE;