This commit is contained in:
Jake Kasper
2025-09-02 09:18:41 -05:00
parent 90af8fab02
commit f29876b041
8 changed files with 389 additions and 4 deletions

View 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);