mirror of
https://github.com/myronblair/tomsjavajive-app
synced 2026-06-30 17:50:56 -05:00
38 lines
1.7 KiB
SQL
38 lines
1.7 KiB
SQL
-- Migration: Add wishlist table and addresses column to customers
|
|
-- Run this in phpMyAdmin to add the new features
|
|
|
|
-- Add addresses column to customers table
|
|
ALTER TABLE `customers` ADD COLUMN `addresses` JSON DEFAULT NULL AFTER `billing_address`;
|
|
|
|
-- Add preferences column to customers table
|
|
ALTER TABLE `customers` ADD COLUMN `preferences` JSON DEFAULT NULL AFTER `addresses`;
|
|
|
|
-- Add is_active column to customers table if not exists
|
|
ALTER TABLE `customers` ADD COLUMN `is_active` TINYINT(1) DEFAULT 1 AFTER `preferences`;
|
|
|
|
-- Create wishlist table
|
|
CREATE TABLE IF NOT EXISTS `wishlist` (
|
|
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
|
`customer_id` VARCHAR(50) NOT NULL,
|
|
`product_id` VARCHAR(50) NOT NULL,
|
|
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
UNIQUE KEY `unique_wishlist` (`customer_id`, `product_id`),
|
|
INDEX `idx_customer` (`customer_id`),
|
|
INDEX `idx_product` (`product_id`),
|
|
FOREIGN KEY (`customer_id`) REFERENCES `customers`(`customer_id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`product_id`) REFERENCES `products`(`product_id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Add reorder_level column to products if not exists
|
|
ALTER TABLE `products` ADD COLUMN `reorder_level` INT DEFAULT 10 AFTER `low_stock_threshold`;
|
|
|
|
-- Add slug column to products if not exists
|
|
ALTER TABLE `products` ADD COLUMN `slug` VARCHAR(255) DEFAULT NULL AFTER `name`;
|
|
ALTER TABLE `products` ADD INDEX `idx_slug` (`slug`);
|
|
|
|
-- Update existing products to have slugs based on name
|
|
UPDATE `products` SET `slug` = LOWER(REPLACE(REPLACE(REPLACE(`name`, ' ', '-'), "'", ''), '"', '')) WHERE `slug` IS NULL;
|
|
|
|
-- Add is_pos_order to orders table
|
|
ALTER TABLE `orders` ADD COLUMN `is_pos_order` TINYINT(1) DEFAULT 0 AFTER `notes`;
|