35171-vm/db/migrations/001_initial_schema.sql
Flatlogic Bot b88fb2e6d7 son
2025-10-24 09:40:09 +00:00

32 lines
1.2 KiB
SQL

-- Initial Schema for Stock Management App
CREATE TABLE IF NOT EXISTS `products` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`type` ENUM('jant', 'lastik', 'akü') NOT NULL,
`stock_quantity` INT NOT NULL DEFAULT 0,
`purchase_price` DECIMAL(10, 2) NOT NULL,
`sale_price` DECIMAL(10, 2) NOT NULL,
`low_stock_threshold` INT NOT NULL DEFAULT 5,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `sales` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`total_amount` DECIMAL(10, 2) NOT NULL,
`profit_amount` DECIMAL(10, 2) NOT NULL,
`payment_method` VARCHAR(50) DEFAULT 'nakit',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `sale_items` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`sale_id` INT NOT NULL,
`product_id` INT NOT NULL,
`quantity` INT NOT NULL,
`unit_price` DECIMAL(10, 2) NOT NULL,
`total_price` DECIMAL(10, 2) NOT NULL,
FOREIGN KEY (`sale_id`) REFERENCES `sales`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`product_id`) REFERENCES `products`(`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;