Skip to content

Commit fcabc0c

Browse files
authored
Add seed cleanup script (#55)
* Add seed cleanup script Signed-off-by: kerthcet <kerthcet@gmail.com> * fix lint Signed-off-by: kerthcet <kerthcet@gmail.com> --------- Signed-off-by: kerthcet <kerthcet@gmail.com>
1 parent 73f9745 commit fcabc0c

3 files changed

Lines changed: 62 additions & 12 deletions

File tree

Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,8 @@ test-all: test test-integration
4545

4646
.PHONY: seed
4747
seed:
48-
python hack/seed.py
48+
python hack/seed.py seed
49+
50+
.PHONY: seed-cleanup
51+
seed-cleanup:
52+
python hack/seed.py cleanup

hack/seed.py

Lines changed: 51 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import os
44
import random
5+
import sys
56
import uuid
67
from datetime import datetime
78
from decimal import Decimal
@@ -115,30 +116,69 @@ def seed_all(
115116
session.add_all(projects)
116117
session.commit()
117118

118-
experiments = [generate_experiment(projects) for _ in range(num_exps_per_project)]
119+
experiments = [
120+
generate_experiment(projects)
121+
for _ in range(num_exps_per_project)
122+
for _ in range(len(projects))
123+
]
119124
session.add_all(experiments)
120125
session.commit()
121126

122-
trials = [generate_trial([exp]) for exp in experiments]
127+
trials = [
128+
generate_trial(experiments)
129+
for _ in range(num_trials_per_exp)
130+
for _ in range(len(experiments))
131+
]
123132
session.add_all(trials)
124133
session.commit()
125134

126-
runs = [generate_run(trials) for _ in range(num_runs_per_trial)]
135+
runs = [
136+
generate_run(trials)
137+
for _ in range(num_runs_per_trial)
138+
for _ in range(len(trials))
139+
]
127140
session.add_all(runs)
128141
session.commit()
129142

130-
metrics = [generate_metric(runs) for _ in range(num_metrics_per_run)]
143+
metrics = [
144+
generate_metric(runs)
145+
for _ in range(num_metrics_per_run)
146+
for _ in range(len(runs))
147+
]
131148
session.add_all(metrics)
132149
session.commit()
133150

134151
print("🌳 seeding completed.")
135152

136153

154+
def cleanup():
155+
print("🧹 cleaning up seeded data ...")
156+
session.query(Metric).delete()
157+
session.query(Run).delete()
158+
session.query(Trial).delete()
159+
session.query(Experiment).delete()
160+
session.query(Project).delete()
161+
session.commit()
162+
print("🧼 cleanup completed.")
163+
164+
137165
if __name__ == "__main__":
138-
seed_all(
139-
num_projects=3,
140-
num_exps_per_project=20,
141-
num_trials_per_exp=50,
142-
num_runs_per_trial=100,
143-
num_metrics_per_run=100,
144-
)
166+
if len(sys.argv) < 2: # noqa: PLR2004
167+
print("Usage: python script.py [cleanup|seed]")
168+
sys.exit(1)
169+
170+
action = sys.argv[1]
171+
172+
if action == "cleanup":
173+
cleanup()
174+
elif action == "seed":
175+
seed_all(
176+
num_projects=3,
177+
num_exps_per_project=10,
178+
num_trials_per_exp=10,
179+
num_runs_per_trial=20,
180+
num_metrics_per_run=30,
181+
)
182+
else:
183+
print(f"Unknown action: {action}")
184+
sys.exit(1)

site/docs/development.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ To seed the database with sample data, run:
3434
make seed
3535
```
3636

37+
To cleanup, run:
38+
39+
```bash
40+
make seed-cleanup
41+
```
42+
3743
## How to Test
3844

3945
To run tests, use:

0 commit comments

Comments
 (0)