-- Migration 6: Catalogo do tenant
-- Source: backend/db/dump/19052026_nextbar.sql

-- -------------------------------------------------------- 6. Catalogo do tenant
--
-- Estrutura para tabela `produtos_tenant`
--

CREATE TABLE `produtos_tenant` (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  tenant_id INT NOT NULL,
  product_concept_id INT NOT NULL,
  product_variant_id INT NOT NULL,
  category_id INT NOT NULL,
  display_name VARCHAR(200) NOT NULL,
  description VARCHAR(200),
  sku VARCHAR(200),
  barcode VARCHAR(200),
  base_price DECIMAL(10,2),
  coin DECIMAL(10,2),
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  status TINYINT(1) NOT NULL DEFAULT 1,
  trash TINYINT(1) NOT NULL DEFAULT 0,
  FOREIGN KEY (tenant_id) REFERENCES tenants(id),
  FOREIGN KEY (product_concept_id) REFERENCES conceitos_produtos(id),
  FOREIGN KEY (product_variant_id) REFERENCES variantes_produtos(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------
--
-- Estrutura para tabela `vinculos_produto_conceito`
--

CREATE TABLE `vinculos_produto_conceito` (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  tenant_id INT NOT NULL,
  product_tenant_id INT NOT NULL,
  product_concept_id INT NOT NULL,
  product_variant_id INT NOT NULL,
  type_match INT(11) NOT NULL,
  confidence_score INT(11) NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  status TINYINT(1) NOT NULL DEFAULT 1,
  trash TINYINT(1) NOT NULL DEFAULT 0,
  FOREIGN KEY (product_tenant_id) REFERENCES produtos_tenant(id),
  FOREIGN KEY (product_concept_id) REFERENCES conceitos_produtos(id),
  FOREIGN KEY (product_variant_id) REFERENCES variantes_produtos(id),
  FOREIGN KEY (tenant_id) REFERENCES tenants(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------
--
-- Estrutura para tabela `produtos_setor`
--

CREATE TABLE `produtos_setor` (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  sector_id INT NOT NULL,
  event_id INT NOT NULL,
  product_tenant_id INT NOT NULL,
  tenant_id INT NOT NULL,
  price_override DECIMAL(10,2),
  maximum_quantity_per_sale INT(11),
  minimum_quantity_per_sale INT(11),
  display_order INT(11),
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  status TINYINT(1) NOT NULL DEFAULT 1,
  trash TINYINT(1) NOT NULL DEFAULT 0,
  FOREIGN KEY (tenant_id) REFERENCES tenants(id),
  FOREIGN KEY (event_id) REFERENCES eventos(id),
  FOREIGN KEY (sector_id) REFERENCES setores(id),
  FOREIGN KEY (product_tenant_id) REFERENCES produtos_tenant(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
