| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- USE inventory_db;
- -- Add hour_price field to clients table
- ALTER TABLE clients ADD COLUMN hour_price DECIMAL(10,2) DEFAULT 0.00 AFTER country;
- -- Create projects table
- CREATE TABLE IF NOT EXISTS projects (
- id INT(11) AUTO_INCREMENT PRIMARY KEY,
- customer_id INT(11) NOT NULL,
- project_name VARCHAR(255) NOT NULL,
- description TEXT NULL,
- status ENUM('planning', 'in_progress', 'completed', 'on_hold', 'cancelled') DEFAULT 'planning',
- start_date DATE NULL,
- end_date DATE NULL,
- budget DECIMAL(10,2) NULL,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- FOREIGN KEY (customer_id) REFERENCES clients(id) ON DELETE CASCADE,
- INDEX idx_customer (customer_id),
- INDEX idx_status (status),
- INDEX idx_dates (start_date, end_date)
- );
- -- Create subprojects table
- CREATE TABLE IF NOT EXISTS subprojects (
- id INT(11) AUTO_INCREMENT PRIMARY KEY,
- project_id INT(11) NOT NULL,
- subproject_name VARCHAR(255) NOT NULL,
- description TEXT NULL,
- status ENUM('planning', 'in_progress', 'completed', 'on_hold', 'cancelled') DEFAULT 'planning',
- start_date DATE NULL,
- end_date DATE NULL,
- budget DECIMAL(10,2) NULL,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
- INDEX idx_project (project_id),
- INDEX idx_status (status),
- INDEX idx_dates (start_date, end_date)
- );
|