Files
probo/pkg/coredata/migrations/20250530T215914Z.sql
Sacha Al Himdani fa1cd6fb51 Add assets
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-06-02 15:44:20 -07:00

28 lines
1.1 KiB
SQL

-- Create enum types
CREATE TYPE criticity_level AS ENUM ('LOW', 'MEDIUM', 'HIGH');
CREATE TYPE asset_type AS ENUM ('PHYSICAL', 'VIRTUAL');
-- Create assets table
CREATE TABLE IF NOT EXISTS assets (
id TEXT PRIMARY KEY,
tenant_id TEXT NOT NULL,
name TEXT NOT NULL,
amount INTEGER NOT NULL,
owner_id TEXT NOT NULL REFERENCES peoples(id) ON UPDATE CASCADE ON DELETE CASCADE,
organization_id TEXT NOT NULL REFERENCES organizations(id) ON UPDATE CASCADE ON DELETE CASCADE,
criticity criticity_level DEFAULT 'MEDIUM',
asset_type asset_type NOT NULL DEFAULT 'VIRTUAL',
data_types_stored TEXT,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NOT NULL
);
-- Create junction table for many-to-many relationship with vendors
CREATE TABLE IF NOT EXISTS asset_vendors (
asset_id TEXT REFERENCES assets(id) ON DELETE CASCADE,
vendor_id TEXT REFERENCES vendors(id) ON DELETE CASCADE,
tenant_id TEXT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
PRIMARY KEY (asset_id, vendor_id)
);