mowing
This commit is contained in:
28
database/migrations/V3__add_mowing_sessions.sql
Normal file
28
database/migrations/V3__add_mowing_sessions.sql
Normal file
@@ -0,0 +1,28 @@
|
||||
-- Mowing sessions to track mowing activity with GPS
|
||||
CREATE TABLE IF NOT EXISTS mowing_sessions (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
|
||||
property_id INTEGER REFERENCES properties(id) ON DELETE CASCADE,
|
||||
equipment_id INTEGER REFERENCES user_equipment(id),
|
||||
cut_height_inches DECIMAL(4,2),
|
||||
direction VARCHAR(20) CHECK (direction IN ('N_S','E_W','NE_SW','NW_SE','CIRCULAR')),
|
||||
session_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
gps_track JSON,
|
||||
duration_seconds INTEGER,
|
||||
total_distance_meters DECIMAL(10,2),
|
||||
average_speed_mph DECIMAL(5,2),
|
||||
area_covered_sqft DECIMAL(12,2),
|
||||
notes TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS mowing_session_sections (
|
||||
id SERIAL PRIMARY KEY,
|
||||
session_id INTEGER REFERENCES mowing_sessions(id) ON DELETE CASCADE,
|
||||
lawn_section_id INTEGER REFERENCES lawn_sections(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_mowing_sessions_user_id ON mowing_sessions(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_mowing_sessions_property_id ON mowing_sessions(property_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_mowing_session_sections_session_id ON mowing_session_sections(session_id);
|
||||
|
||||
Reference in New Issue
Block a user