Skip to content

Commit cce7ee4

Browse files
committed
feat: latest changes with some more error handling and elusive indicators
1 parent 67ff986 commit cce7ee4

17 files changed

Lines changed: 291 additions & 199 deletions

migrations/20250820223147_create_towns_table.sql

Lines changed: 171 additions & 170 deletions
Original file line numberDiff line numberDiff line change
@@ -1,179 +1,180 @@
11
CREATE TABLE towns (
22
id INTEGER PRIMARY KEY AUTOINCREMENT,
33
county_id INTEGER REFERENCES counties(id),
4+
is_elusive BOOLEAN NOT NULL DEFAULT FALSE,
45
name TEXT NOT NULL
56
);
67

7-
INSERT INTO towns (county_id, name) VALUES
8-
(7, 'Andover'),
9-
(5, 'Ansonia'),
10-
(8, 'Ashford'),
11-
(2, 'Avon'),
12-
(3, 'Barkhamsted'),
13-
(5, 'Beacon Falls'),
14-
(2, 'Berlin'),
15-
(5, 'Bethany'),
16-
(1, 'Bethel'),
17-
(3, 'Bethlehem'),
18-
(2, 'Bloomfield'),
19-
(2, 'Bolton'),
20-
(6, 'Bozrah'),
21-
(5, 'Branford'),
22-
(1, 'Bridgeport'),
23-
(3, 'Bridgewater'),
24-
(2, 'Bristol'),
25-
(1, 'Brookfield'),
26-
(8, 'Brooklyn'),
27-
(3, 'Burlington'),
28-
(3, 'Canaan'),
29-
(8, 'Canterbury'),
30-
(3, 'Canton'),
31-
(7, 'Chaplin'),
32-
(5, 'Cheshire'),
33-
(4, 'Chester'),
34-
(5, 'Clinton'),
35-
(6, 'Colchester'),
36-
(3, 'Colebrook'),
37-
(2, 'Columbia'),
38-
(3, 'Cornwall'),
39-
(2, 'Coventry'),
40-
(4, 'Cromwell'),
41-
(1, 'Danbury'),
42-
(1, 'Darien'),
43-
(4, 'Deep River'),
44-
(5, 'Derby'),
45-
(4, 'Durham'),
46-
(4, 'Eastford'),
47-
(2, 'East Granby'),
48-
(4, 'East Haddam'),
49-
(4, 'East Hampton'),
50-
(2, 'East Hartford'),
51-
(5, 'East Haven'),
52-
(6, 'East Lyme'),
53-
(2, 'East Windsor'),
54-
(1, 'Easton'),
55-
(7, 'Ellington'),
56-
(2, 'Enfield'),
57-
(4, 'Essex'),
58-
(1, 'Fairfield'),
59-
(2, 'Farmington'),
60-
(6, 'Franklin'),
61-
(2, 'Glastonbury'),
62-
(3, 'Goshen'),
63-
(2, 'Granby'),
64-
(1, 'Greenwich'),
65-
(6, 'Griswold'),
66-
(6, 'Groton'),
67-
(5, 'Guilford'),
68-
(4, 'Haddam'),
69-
(5, 'Hamden'),
70-
(8, 'Hampton'),
71-
(2, 'Hartford'),
72-
(3, 'Hartland'),
73-
(3, 'Harwinton'),
74-
(2, 'Hebron'),
75-
(3, 'Kent'),
76-
(8, 'Killingly'),
77-
(4, 'Killingworth'),
78-
(6, 'Lebanon'),
79-
(6, 'Ledyard'),
80-
(6, 'Lisbon'),
81-
(3, 'Litchfield'),
82-
(6, 'Lyme'),
83-
(5, 'Madison'),
84-
(2, 'Manchester'),
85-
(7, 'Mansfield'),
86-
(4, 'Marlborough'),
87-
(5, 'Meriden'),
88-
(3, 'Middlebury'),
89-
(4, 'Middlefield'),
90-
(4, 'Middletown'),
91-
(5, 'Milford'),
92-
(1, 'Monroe'),
93-
(6, 'Montville'),
94-
(3, 'Morris'),
95-
(5, 'Naugatuck'),
96-
(2, 'New Britain'),
97-
(1, 'New Canaan'),
98-
(1, 'New Fairfield'),
99-
(3, 'New Hartford'),
100-
(5, 'New Haven'),
101-
(6, 'New London'),
102-
(1, 'New Milford'),
103-
(2, 'Newington'),
104-
(1, 'Newtown'),
105-
(3, 'Norfolk'),
106-
(5, 'North Branford'),
107-
(3, 'North Canaan'),
108-
(5, 'North Haven'),
109-
(6, 'North Stonington'),
110-
(1, 'Norwalk'),
111-
(6, 'Norwich'),
112-
(6, 'Old Lyme'),
113-
(4, 'Old Saybrook'),
114-
(5, 'Orange'),
115-
(5, 'Oxford'),
116-
(8, 'Plainfield'),
117-
(2, 'Plainville'),
118-
(3, 'Plymouth'),
119-
(8, 'Pomfret'),
120-
(4, 'Portland'),
121-
(6, 'Preston'),
122-
(5, 'Prospect'),
123-
(8, 'Putnam'),
124-
(1, 'Redding'),
125-
(1, 'Ridgefield'),
126-
(2, 'Rocky Hill'),
127-
(3, 'Roxbury'),
128-
(6, 'Salem'),
129-
(3, 'Salisbury'),
130-
(8, 'Scotland'),
131-
(5, 'Seymour'),
132-
(3, 'Sharon'),
133-
(1, 'Shelton'),
134-
(1, 'Sherman'),
135-
(2, 'Simsbury'),
136-
(7, 'Somers'),
137-
(2, 'South Windsor'),
138-
(3, 'Southbury'),
139-
(2, 'Southington'),
140-
(6, 'Sprague'),
141-
(7, 'Stafford'),
142-
(1, 'Stamford'),
143-
(8, 'Sterling'),
144-
(6, 'Stonington'),
145-
(1, 'Stratford'),
146-
(2, 'Suffield'),
147-
(3, 'Thomaston'),
148-
(8, 'Thompson'),
149-
(7, 'Tolland'),
150-
(3, 'Torrington'),
151-
(1, 'Trumbull'),
152-
(7, 'Union'),
153-
(7, 'Vernon'),
154-
(8, 'Voluntown'),
155-
(5, 'Wallingford'),
156-
(3, 'Warren'),
157-
(3, 'Washington'),
158-
(5, 'Waterbury'),
159-
(6, 'Waterford'),
160-
(3, 'Watertown'),
161-
(2, 'West Hartford'),
162-
(5, 'West Haven'),
163-
(4, 'Westbrook'),
164-
(1, 'Weston'),
165-
(1, 'Westport'),
166-
(2, 'Wethersfield'),
167-
(7, 'Willington'),
168-
(1, 'Wilton'),
169-
(3, 'Winchester'),
170-
(8, 'Windham'),
171-
(2, 'Windsor'),
172-
(2, 'Windsor Locks'),
173-
(5, 'Wolcott'),
174-
(5, 'Woodbridge'),
175-
(3, 'Woodbury'),
176-
(8, 'Woodstock');
8+
INSERT INTO towns (county_id, name, is_elusive) VALUES
9+
(7, 'Andover', '1'),
10+
(5, 'Ansonia', '0'),
11+
(8, 'Ashford', '0'),
12+
(2, 'Avon', '0'),
13+
(3, 'Barkhamsted', '0'),
14+
(5, 'Beacon Falls', '1'),
15+
(2, 'Berlin', '0'),
16+
(5, 'Bethany', '0'),
17+
(1, 'Bethel', '0'),
18+
(3, 'Bethlehem', '1'),
19+
(2, 'Bloomfield', '0'),
20+
(2, 'Bolton', '0'),
21+
(6, 'Bozrah', '1'),
22+
(5, 'Branford', '0'),
23+
(1, 'Bridgeport', '0'),
24+
(3, 'Bridgewater', '0'),
25+
(2, 'Bristol', '0'),
26+
(1, 'Brookfield', '0'),
27+
(8, 'Brooklyn', '1'),
28+
(3, 'Burlington', '0'),
29+
(3, 'Canaan', '1'),
30+
(8, 'Canterbury', '1'),
31+
(3, 'Canton', '0'),
32+
(7, 'Chaplin', '0'),
33+
(5, 'Cheshire', '0'),
34+
(4, 'Chester', '0'),
35+
(5, 'Clinton', '1'),
36+
(6, 'Colchester', '0'),
37+
(3, 'Colebrook', '0'),
38+
(2, 'Columbia', '1'),
39+
(3, 'Cornwall', '0'),
40+
(2, 'Coventry', '1'),
41+
(4, 'Cromwell', '0'),
42+
(1, 'Danbury', '0'),
43+
(1, 'Darien', '0'),
44+
(4, 'Deep River', '1'),
45+
(5, 'Derby', '0'),
46+
(4, 'Durham', '1'),
47+
(4, 'Eastford', '1'),
48+
(2, 'East Granby', '0'),
49+
(4, 'East Haddam', '0'),
50+
(4, 'East Hampton', '0'),
51+
(2, 'East Hartford', '0'),
52+
(5, 'East Haven', '1'),
53+
(6, 'East Lyme', '0'),
54+
(2, 'East Windsor', '0'),
55+
(1, 'Easton', '0'),
56+
(7, 'Ellington', '0'),
57+
(2, 'Enfield', '0'),
58+
(4, 'Essex', '0'),
59+
(1, 'Fairfield', '0'),
60+
(2, 'Farmington', '0'),
61+
(6, 'Franklin', '0'),
62+
(2, 'Glastonbury', '0'),
63+
(3, 'Goshen', '0'),
64+
(2, 'Granby', '0'),
65+
(1, 'Greenwich', '0'),
66+
(6, 'Griswold', '1'),
67+
(6, 'Groton', '0'),
68+
(5, 'Guilford', '0'),
69+
(4, 'Haddam', '0'),
70+
(5, 'Hamden', '0'),
71+
(8, 'Hampton', '0'),
72+
(2, 'Hartford', '0'),
73+
(3, 'Hartland', '1'),
74+
(3, 'Harwinton', '0'),
75+
(2, 'Hebron', '0'),
76+
(3, 'Kent', '0'),
77+
(8, 'Killingly', '0'),
78+
(4, 'Killingworth', '1'),
79+
(6, 'Lebanon', '0'),
80+
(6, 'Ledyard', '0'),
81+
(6, 'Lisbon', '1'),
82+
(3, 'Litchfield', '0'),
83+
(6, 'Lyme', '1'),
84+
(5, 'Madison', '0'),
85+
(2, 'Manchester', '0'),
86+
(7, 'Mansfield', '0'),
87+
(4, 'Marlborough', '0'),
88+
(5, 'Meriden', '0'),
89+
(3, 'Middlebury', '0'),
90+
(4, 'Middlefield', '0'),
91+
(4, 'Middletown', '0'),
92+
(5, 'Milford', '0'),
93+
(1, 'Monroe', '0'),
94+
(6, 'Montville', '1'),
95+
(3, 'Morris', '1'),
96+
(5, 'Naugatuck', '0'),
97+
(2, 'New Britain', '0'),
98+
(1, 'New Canaan', '0'),
99+
(1, 'New Fairfield', '0'),
100+
(3, 'New Hartford', '0'),
101+
(5, 'New Haven', '0'),
102+
(6, 'New London', '0'),
103+
(1, 'New Milford', '0'),
104+
(2, 'Newington', '0'),
105+
(1, 'Newtown', '0'),
106+
(3, 'Norfolk', '0'),
107+
(5, 'North Branford', '1'),
108+
(3, 'North Canaan', '0'),
109+
(5, 'North Haven', '0'),
110+
(6, 'North Stonington', '0'),
111+
(1, 'Norwalk', '0'),
112+
(6, 'Norwich', '0'),
113+
(6, 'Old Lyme', '0'),
114+
(4, 'Old Saybrook', '0'),
115+
(5, 'Orange', '0'),
116+
(5, 'Oxford', '1'),
117+
(8, 'Plainfield', '0'),
118+
(2, 'Plainville', '1'),
119+
(3, 'Plymouth', '0'),
120+
(8, 'Pomfret', '0'),
121+
(4, 'Portland', '0'),
122+
(6, 'Preston', '0'),
123+
(5, 'Prospect', '1'),
124+
(8, 'Putnam', '1'),
125+
(1, 'Redding', '0'),
126+
(1, 'Ridgefield', '0'),
127+
(2, 'Rocky Hill', '1'),
128+
(3, 'Roxbury', '0'),
129+
(6, 'Salem', '1'),
130+
(3, 'Salisbury', '1'),
131+
(8, 'Scotland', '1'),
132+
(5, 'Seymour', '1'),
133+
(3, 'Sharon', '0'),
134+
(1, 'Shelton', '0'),
135+
(1, 'Sherman', '1'),
136+
(2, 'Simsbury', '0'),
137+
(7, 'Somers', '0'),
138+
(2, 'South Windsor', '1'),
139+
(3, 'Southbury', '0'),
140+
(2, 'Southington', '0'),
141+
(6, 'Sprague', '1'),
142+
(7, 'Stafford', '0'),
143+
(1, 'Stamford', '0'),
144+
(8, 'Sterling', '0'),
145+
(6, 'Stonington', '0'),
146+
(1, 'Stratford', '0'),
147+
(2, 'Suffield', '0'),
148+
(3, 'Thomaston', '0'),
149+
(8, 'Thompson', '1'),
150+
(7, 'Tolland', '0'),
151+
(3, 'Torrington', '0'),
152+
(1, 'Trumbull', '0'),
153+
(7, 'Union', '0'),
154+
(7, 'Vernon', '0'),
155+
(8, 'Voluntown', '1'),
156+
(5, 'Wallingford', '0'),
157+
(3, 'Warren', '0'),
158+
(3, 'Washington', '0'),
159+
(5, 'Waterbury', '0'),
160+
(6, 'Waterford', '0'),
161+
(3, 'Watertown', '0'),
162+
(2, 'West Hartford', '0'),
163+
(5, 'West Haven', '0'),
164+
(4, 'Westbrook', '1'),
165+
(1, 'Weston', '0'),
166+
(1, 'Westport', '0'),
167+
(2, 'Wethersfield', '0'),
168+
(7, 'Willington', '1'),
169+
(1, 'Wilton', '0'),
170+
(3, 'Winchester', '0'),
171+
(8, 'Windham', '0'),
172+
(2, 'Windsor', '0'),
173+
(2, 'Windsor Locks', '1'),
174+
(5, 'Wolcott', '1'),
175+
(5, 'Woodbridge', '0'),
176+
(3, 'Woodbury', '1'),
177+
(8, 'Woodstock', '0');
177178

178179

179180
CREATE INDEX idx_towns_name ON towns(name);

migrations/20251201153428_create_completed_towns_table.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE TABLE completed_towns (
22
id INTEGER PRIMARY KEY AUTOINCREMENT,
3-
user_id INTEGER NOT NULL REFERENCES users(id),
4-
town_id INTEGER NOT NULL REFERENCES towns(id),
3+
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
4+
town_id INTEGER NOT NULL REFERENCES towns(id) ON DELETE CASCADE,
55
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
66
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
77
UNIQUE(user_id, town_id)
@@ -19,6 +19,6 @@ END;
1919

2020
-- Completed Town View
2121
CREATE VIEW completed_towns_view AS
22-
SELECT ct.*, t.name, t.county
22+
SELECT ct.*, t.name, t.county, t.is_elusive
2323
FROM completed_towns ct
2424
LEFT JOIN towns_view t ON t.id = ct.town_id;

migrations/20251201155000_create_races_table.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CREATE TABLE races (
22
id INTEGER PRIMARY KEY AUTOINCREMENT,
3-
town_id INTEGER NOT NULL REFERENCES towns(id),
3+
town_id INTEGER NOT NULL REFERENCES towns(id) ON DELETE CASCADE,
44
name TEXT NOT NULL,
55
miles REAL NOT NULL,
66
start_at DATETIME NOT NULL,
@@ -22,6 +22,6 @@ END;
2222

2323
-- Races View
2424
CREATE VIEW races_view AS
25-
SELECT r.*, t.name AS town, t.county
25+
SELECT r.*, t.name AS town, t.county, t.is_elusive
2626
FROM races r
2727
LEFT JOIN towns_view t ON t.id = r.town_id;

migrations/20251201155552_create_race_results_table.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CREATE TABLE race_results (
22
id INTEGER PRIMARY KEY AUTOINCREMENT,
3-
user_id INTEGER NOT NULL REFERENCES users(id),
4-
race_id INTEGER NOT NULL REFERENCES races(id),
3+
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
4+
race_id INTEGER NOT NULL REFERENCES races(id) ON DELETE CASCADE,
55
notes TEXT,
66
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
77
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,

0 commit comments

Comments
 (0)