Files
mercadodevida/project/migrations/007_brands.js
2026-08-17 22:23:10 +02:00

33 lines
1.0 KiB
JavaScript

/**
* Brands module table and catalog product-brand assignment.
*/
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
export const up = (pgm) => {
pgm.sql(`
CREATE TABLE brands_brands (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
name text NOT NULL,
slug text NOT NULL UNIQUE,
seo_title text,
seo_description text,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
)
`);
pgm.sql('CREATE INDEX brands_brands_slug_idx ON brands_brands (slug)');
pgm.sql(`
ALTER TABLE catalog_products
ADD COLUMN brand_id uuid REFERENCES brands_brands(id) ON DELETE SET NULL
`);
pgm.sql('CREATE INDEX catalog_products_brand_id_idx ON catalog_products (brand_id)');
};
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
export const down = (pgm) => {
pgm.sql('DROP INDEX IF EXISTS catalog_products_brand_id_idx');
pgm.sql('ALTER TABLE catalog_products DROP COLUMN IF EXISTS brand_id');
pgm.sql('DROP TABLE IF EXISTS brands_brands');
};