Import Vector lab project
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
-- Миграция: создание таблицы cases согласно §10 контекста
|
||||
|
||||
DROP TABLE IF EXISTS search_results CASCADE;
|
||||
DROP TABLE IF EXISTS search_cases CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS cases (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
status VARCHAR(20) DEFAULT 'active',
|
||||
|
||||
child_name VARCHAR(255),
|
||||
age_years INTEGER NOT NULL,
|
||||
gender CHAR(1),
|
||||
clothes_description TEXT,
|
||||
special_marks TEXT,
|
||||
phone_status VARCHAR(20),
|
||||
|
||||
has_diagnosis BOOLEAN DEFAULT FALSE,
|
||||
diagnosis_type VARCHAR[],
|
||||
fitness_level VARCHAR(20),
|
||||
has_transport VARCHAR(20) DEFAULT 'none',
|
||||
cant_swim BOOLEAN DEFAULT FALSE,
|
||||
|
||||
psychotype VARCHAR(50),
|
||||
psychotype_answers JSONB,
|
||||
|
||||
loss_reason VARCHAR(100),
|
||||
loss_time TIMESTAMP,
|
||||
elapsed_hours FLOAT,
|
||||
last_seen_direction VARCHAR(10),
|
||||
last_seen_reliability VARCHAR(20),
|
||||
last_seen_description TEXT,
|
||||
behavior_description TEXT,
|
||||
familiar_places TEXT,
|
||||
lost_before VARCHAR(20),
|
||||
|
||||
season VARCHAR(20),
|
||||
temperature_c FLOAT,
|
||||
precipitation VARCHAR(20),
|
||||
visibility VARCHAR(20),
|
||||
wind VARCHAR(20),
|
||||
terrain VARCHAR[],
|
||||
|
||||
tnp_lat FLOAT,
|
||||
tnp_lon FLOAT,
|
||||
tnp_address TEXT,
|
||||
|
||||
teams_count INTEGER,
|
||||
team_size INTEGER,
|
||||
has_dog BOOLEAN DEFAULT FALSE,
|
||||
extra_resources VARCHAR[],
|
||||
|
||||
found_alive BOOLEAN,
|
||||
found_distance_km FLOAT,
|
||||
found_direction VARCHAR(10),
|
||||
found_location_type VARCHAR(50),
|
||||
found_lat FLOAT,
|
||||
found_lon FLOAT,
|
||||
search_duration_hours FLOAT,
|
||||
who_found VARCHAR(50),
|
||||
|
||||
confidence_avg FLOAT,
|
||||
raw_text TEXT,
|
||||
analysis_log JSONB
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_coords ON cases (found_lat, found_lon);
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_age_season ON cases (age_years, season);
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_status ON cases (status);
|
||||
|
||||
DROP TABLE IF EXISTS raw_documents CASCADE;
|
||||
CREATE TABLE IF NOT EXISTS raw_documents (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
filename VARCHAR(255) NOT NULL,
|
||||
raw_text TEXT,
|
||||
extracted_json JSONB,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
Reference in New Issue
Block a user