CREATE TABLE IF NOT EXISTS devices ( id VARCHAR(255) PRIMARY KEY, name VARCHAR(255) NOT NULL, type VARCHAR(100) NOT NULL, protocol VARCHAR(50) NOT NULL, status VARCHAR(20) DEFAULT 'offline', last_seen TIMESTAMP, metadata JSONB, config JSONB, firmware JSONB, location JSONB, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, deleted_at TIMESTAMP ); CREATE INDEX idx_devices_type ON devices(type); CREATE INDEX idx_devices_status ON devices(status); CREATE INDEX idx_devices_protocol ON devices(protocol); CREATE INDEX idx_devices_deleted_at ON devices(deleted_at);