From 6af7d2fade259bfdca3919f84c2707d19e1f809d Mon Sep 17 00:00:00 2001 From: dbastrikin Date: Sat, 21 Mar 2026 15:33:49 +0200 Subject: [PATCH] fix: change products.canonical_name to TEXT, trim whitespace on import VARCHAR(255) was too narrow for some OpenFoodFacts product names. Switching to TEXT removes the length constraint entirely. Also trim whitespace from resolved canonical names during import. Co-Authored-By: Claude Sonnet 4.6 --- backend/cmd/importoff/main.go | 4 ++-- backend/migrations/001_initial_schema.sql | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/cmd/importoff/main.go b/backend/cmd/importoff/main.go index 6009489..e3f0085 100644 --- a/backend/cmd/importoff/main.go +++ b/backend/cmd/importoff/main.go @@ -209,9 +209,9 @@ func run() error { } // Resolve canonical name: prefer English, fall back to any language. - canonicalName := record.ProductNameEN + canonicalName := strings.TrimSpace(record.ProductNameEN) if canonicalName == "" { - canonicalName = record.ProductName + canonicalName = strings.TrimSpace(record.ProductName) } // Apply filter rules. diff --git a/backend/migrations/001_initial_schema.sql b/backend/migrations/001_initial_schema.sql index 48344e6..1e816eb 100644 --- a/backend/migrations/001_initial_schema.sql +++ b/backend/migrations/001_initial_schema.sql @@ -124,7 +124,7 @@ CREATE TABLE product_category_translations ( -- --------------------------------------------------------------------------- CREATE TABLE products ( id UUID PRIMARY KEY DEFAULT uuid_generate_v7(), - canonical_name VARCHAR(255) NOT NULL, + canonical_name TEXT NOT NULL, category VARCHAR(50) REFERENCES product_categories(slug), default_unit VARCHAR(20) REFERENCES units(code), barcode TEXT UNIQUE,