new-g
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
CREATE TABLE line_stages (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
description TEXT,
|
||||
stage_order INT NOT NULL UNIQUE,
|
||||
equipment VARCHAR(200),
|
||||
mqtt_topic VARCHAR(200)
|
||||
);
|
||||
|
||||
CREATE TABLE sensor_readings (
|
||||
id SERIAL PRIMARY KEY,
|
||||
stage_id INT REFERENCES line_stages(id) ON DELETE CASCADE,
|
||||
sensor VARCHAR(100) NOT NULL,
|
||||
value DOUBLE PRECISION NOT NULL,
|
||||
unit VARCHAR(20),
|
||||
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE TABLE production_events (
|
||||
id SERIAL PRIMARY KEY,
|
||||
stage_id INT REFERENCES line_stages(id) ON DELETE CASCADE,
|
||||
event_type VARCHAR(100) NOT NULL,
|
||||
data TEXT,
|
||||
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Индексы для производительности
|
||||
CREATE INDEX idx_sensor_readings_stage ON sensor_readings(stage_id, timestamp DESC);
|
||||
CREATE INDEX idx_production_events_stage ON production_events(stage_id, timestamp DESC);
|
||||
|
||||
-- Начальные данные этапов линии
|
||||
INSERT INTO line_stages (name, description, stage_order, equipment, mqtt_topic) VALUES
|
||||
('Разгрузка', 'Приемка лома, взвешивание', 1, 'Рампа, весы', '/sensor/weight/party'),
|
||||
('QR Сортировка', 'Сканирование QR-кодов', 2, 'Camera Module v3', '/qr/result'),
|
||||
('Подача', 'Загрузка на конвейер', 3, 'Danfoss VLT FC 302', '/drive/telemetry'),
|
||||
('Дробление', 'Шредер / Дробилка', 4, 'SEW MOVITRAC', '/drive/vibration'),
|
||||
('Мойка', 'Очистка, флотация', 5, 'Ванна, насосы', '/sensor/level'),
|
||||
('Сушка', 'Удаление влаги', 6, 'Центрифуга', '/sensor/dry/temp'),
|
||||
('Экструзия', 'Плавление, грануляция', 7, 'ABB ACS880', '/extruder/pressure'),
|
||||
('Манипулятор', 'Упаковка, паллетирование', 8, 'Робот-упаковщик', '/robot/cycle');
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
DROP TABLE IF EXISTS production_events;
|
||||
DROP TABLE IF EXISTS sensor_readings;
|
||||
DROP TABLE IF EXISTS line_stages;
|
||||
-- +goose StatementEnd
|
||||
Reference in New Issue
Block a user