c1dda280e2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
759 B
SQL
19 lines
759 B
SQL
-- Catalogue objects (the inventory-minimum core). One row = one object or a group.
|
|
CREATE TABLE object (
|
|
id UUID PRIMARY KEY,
|
|
object_number TEXT NOT NULL UNIQUE,
|
|
object_name TEXT NOT NULL,
|
|
number_of_objects INTEGER NOT NULL DEFAULT 1 CHECK (number_of_objects >= 1),
|
|
brief_description TEXT,
|
|
current_location TEXT,
|
|
current_owner TEXT,
|
|
recorder TEXT,
|
|
recording_date DATE,
|
|
visibility TEXT NOT NULL DEFAULT 'draft'
|
|
CHECK (visibility IN ('draft', 'internal', 'public')),
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX object_visibility_idx ON object (visibility);
|