SQL
CREATE TABLE cable_routes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
customer_id INTEGER NOT NULL,
odp_id INTEGER NOT NULL,
cable_length DECIMAL(8,2),
cable_type VARCHAR(50) DEFAULT 'Fiber Optic',
installation_date DATE,
status VARCHAR(20) DEFAULT 'connected' CHECK (status IN ('connected', 'disconnected', 'maintenance', 'damaged')),
port_number INTEGER,
notes TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE,
FOREIGN KEY (odp_id) REFERENCES odps(id) ON DELETE CASCADE
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
INTEGER |
✓ | ✓ | Rename | Drop |
customer_id |
INTEGER |
Rename | Drop | ||
odp_id |
INTEGER |
Rename | Drop | ||
cable_length |
DECIMAL(8,2) |
✓ | Rename | Drop | |
cable_type |
VARCHAR(50) |
✓ | Rename | Drop | |
installation_date |
DATE |
✓ | Rename | Drop | |
status |
VARCHAR(20) |
✓ | Rename | Drop | |
port_number |
INTEGER |
✓ | Rename | Drop | |
notes |
TEXT |
✓ | Rename | Drop | |
created_at |
DATETIME |
✓ | Rename | Drop | |
updated_at |
DATETIME |
✓ | Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
odp_id |
odps.id |
customer_id |
customers.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_cable_routes_customer |
customer_id
|
SQL | Drop | |
| idx_cable_routes_odp |
odp_id
|
SQL | Drop | |
| idx_cable_routes_status |
status
|
SQL | Drop |
Triggers
| Name | SQL | Drop? |
|---|---|---|
| update_cable_routes_updated_at | SQL | Drop |
| update_odp_used_ports_insert | SQL | Drop |
| update_odp_used_ports_delete | SQL | Drop |
| update_odp_used_ports_change | SQL | Drop |