- Add database migrations (006-028) for face recognition, identity, file_uuid - Add test scripts for ASR, face, search, processing - Add portal frontend (Tauri) - Add config, benchmark, and monitoring utilities - Add model checkpoints and pretrained model references
55 lines
1.8 KiB
PL/PgSQL
55 lines
1.8 KiB
PL/PgSQL
-- Migration: Create mac_allocations table for MAC-based resource allocation
|
|
-- Purpose: MAC address binding for license and resource control
|
|
-- Date: 2026-04-27
|
|
|
|
-- Create mac_allocations table (simplified version for MVP)
|
|
CREATE TABLE IF NOT EXISTS mac_allocations (
|
|
mac_address VARCHAR(17) PRIMARY KEY,
|
|
machine_name VARCHAR(100),
|
|
license_key VARCHAR(64),
|
|
is_active BOOLEAN DEFAULT true,
|
|
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
|
|
-- Add comments
|
|
COMMENT ON TABLE mac_allocations IS
|
|
'MAC address resource allocation: license binding and machine identification';
|
|
|
|
COMMENT ON COLUMN mac_allocations.mac_address IS
|
|
'Network interface MAC address (format: a1:b2:c3:d4:e5:f6)';
|
|
|
|
COMMENT ON COLUMN mac_allocations.machine_name IS
|
|
'Human-readable machine name (e.g., MacBook-Pro)';
|
|
|
|
COMMENT ON COLUMN mac_allocations.license_key IS
|
|
'License key bound to this MAC address';
|
|
|
|
COMMENT ON COLUMN mac_allocations.is_active IS
|
|
'Whether this MAC is currently active';
|
|
|
|
-- Create indexes
|
|
CREATE INDEX IF NOT EXISTS idx_mac_allocations_license
|
|
ON mac_allocations(license_key);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_mac_allocations_active
|
|
ON mac_allocations(is_active);
|
|
|
|
-- Insert default MAC allocation for current machine (placeholder)
|
|
-- Actual MAC address will be inserted during first registration
|
|
-- INSERT INTO mac_allocations (mac_address, machine_name, license_key, is_active)
|
|
-- VALUES ('<actual_mac>', 'MacBook-Pro', 'demo_license', true);
|
|
|
|
-- Update trigger for updated_at
|
|
CREATE OR REPLACE FUNCTION update_mac_allocations_updated_at()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
NEW.updated_at = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|
|
CREATE TRIGGER trigger_mac_allocations_updated_at
|
|
BEFORE UPDATE ON mac_allocations
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION update_mac_allocations_updated_at(); |