SQL
CREATE TABLE onu_devices (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(100) NOT NULL,
serial_number VARCHAR(100) UNIQUE,
mac_address VARCHAR(17),
ip_address VARCHAR(15),
status VARCHAR(20) DEFAULT 'online' CHECK (status IN ('online', 'offline', 'maintenance')),
latitude DECIMAL(10,8),
longitude DECIMAL(11,8),
customer_id INTEGER,
odp_id INTEGER,
ssid VARCHAR(50),
password VARCHAR(100),
model VARCHAR(100),
firmware_version VARCHAR(50),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE SET NULL,
FOREIGN KEY (odp_id) REFERENCES odps(id) ON DELETE SET NULL
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
INTEGER |
✓ | ✓ | Rename | Drop |
name |
VARCHAR(100) |
Rename | Drop | ||
serial_number |
VARCHAR(100) |
✓ | Rename | Drop | |
mac_address |
VARCHAR(17) |
✓ | Rename | Drop | |
ip_address |
VARCHAR(15) |
✓ | Rename | Drop | |
status |
VARCHAR(20) |
✓ | Rename | Drop | |
latitude |
DECIMAL(10,8) |
✓ | Rename | Drop | |
longitude |
DECIMAL(11,8) |
✓ | Rename | Drop | |
customer_id |
INTEGER |
✓ | Rename | Drop | |
odp_id |
INTEGER |
✓ | Rename | Drop | |
ssid |
VARCHAR(50) |
✓ | Rename | Drop | |
password |
VARCHAR(100) |
✓ | Rename | Drop | |
model |
VARCHAR(100) |
✓ | Rename | Drop | |
firmware_version |
VARCHAR(50) |
✓ | 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_onu_devices_coordinates |
|
SQL | Drop | |
| idx_onu_devices_customer_id |
customer_id
|
SQL | Drop | |
| idx_onu_devices_odp_id |
odp_id
|
SQL | Drop | |
| idx_onu_devices_status |
status
|
SQL | Drop | |
| sqlite_autoindex_onu_devices_1 |
serial_number
|
✓ | SQL | Drop |