18 lines
761 B
SQL
18 lines
761 B
SQL
-- v0.401 M1: Product images (multiple images per product)
|
|
-- Prerequisite: products table exists
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'products') THEN
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'product_images') THEN
|
|
CREATE TABLE product_images (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
product_id UUID NOT NULL REFERENCES products(id) ON DELETE CASCADE,
|
|
url VARCHAR(512) NOT NULL,
|
|
sort_order INTEGER DEFAULT 0,
|
|
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
CREATE INDEX idx_product_images_product_id ON product_images(product_id);
|
|
END IF;
|
|
END IF;
|
|
END $$;
|