added script to reset and seed database (thanks opencode)

This commit is contained in:
2026-05-06 15:47:20 +01:00
parent 3f6e8073e9
commit 16acfd2b05
10 changed files with 896 additions and 27 deletions

View File

@@ -1,7 +0,0 @@
-- Custom SQL migration file, put your code below! --
INSERT INTO houses (name, color, points) VALUES
('County', 'red', 1),
('East', 'pink', 100),
('Laud', 'teal', 50),
('School', 'green', 2),
('West', 'yellow', 92);

View File

@@ -1,14 +1,605 @@
{
"id": "c7461ef5-d32b-4f75-bde8-ab83440ceb7a",
"prevId": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"prevId": "",
"version": "6",
"dialect": "sqlite",
"tables": {},
"views": {},
"tables": {
"divisions": {
"name": "divisions",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"name": {
"autoincrement": false,
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"eventAttributions": {
"name": "eventAttributions",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"eventID": {
"autoincrement": false,
"name": "eventID",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"playerID": {
"autoincrement": false,
"name": "playerID",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"placement": {
"default": 0,
"autoincrement": false,
"name": "placement",
"type": "integer",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {
"eventAttributions_placement_scoringPresets_placement_fk": {
"name": "eventAttributions_placement_scoringPresets_placement_fk",
"tableFrom": "eventAttributions",
"tableTo": "scoringPresets",
"columnsFrom": [
"placement"
],
"columnsTo": [
"placement"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"eventAttributions_playerID_players_id_fk": {
"name": "eventAttributions_playerID_players_id_fk",
"tableFrom": "eventAttributions",
"tableTo": "players",
"columnsFrom": [
"playerID"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"eventAttributions_eventID_events_id_fk": {
"name": "eventAttributions_eventID_events_id_fk",
"tableFrom": "eventAttributions",
"tableTo": "events",
"columnsFrom": [
"eventID"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"events": {
"name": "events",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"name": {
"autoincrement": false,
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true
},
"preset": {
"autoincrement": false,
"name": "preset",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"division": {
"autoincrement": false,
"name": "division",
"type": "text",
"primaryKey": false,
"notNull": true
},
"order": {
"autoincrement": false,
"name": "order",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"state": {
"default": 0,
"autoincrement": false,
"name": "state",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"timeCompleted": {
"autoincrement": false,
"name": "timeCompleted",
"type": "integer",
"primaryKey": false,
"notNull": false
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {
"events_division_divisions_id_fk": {
"name": "events_division_divisions_id_fk",
"tableFrom": "events",
"tableTo": "divisions",
"columnsFrom": [
"division"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"events_preset_scoringPresets_preset_fk": {
"name": "events_preset_scoringPresets_preset_fk",
"tableFrom": "events",
"tableTo": "scoringPresets",
"columnsFrom": [
"preset"
],
"columnsTo": [
"preset"
],
"onDelete": "no action",
"onUpdate": "no action"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"ledger": {
"name": "ledger",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"timestamp": {
"default": "(unixepoch())",
"autoincrement": false,
"name": "timestamp",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"type": {
"default": "'event'",
"autoincrement": false,
"name": "type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"event": {
"autoincrement": false,
"name": "event",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"scorer": {
"autoincrement": false,
"name": "scorer",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {
"ledger_scorer_scorers_id_fk": {
"name": "ledger_scorer_scorers_id_fk",
"tableFrom": "ledger",
"tableTo": "scorers",
"columnsFrom": [
"scorer"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"ledger_event_events_id_fk": {
"name": "ledger_event_events_id_fk",
"tableFrom": "ledger",
"tableTo": "events",
"columnsFrom": [
"event"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"ledgerScores": {
"name": "ledgerScores",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"ledgerID": {
"autoincrement": false,
"name": "ledgerID",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"team": {
"autoincrement": false,
"name": "team",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"placement": {
"autoincrement": false,
"name": "placement",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"points": {
"default": 0,
"autoincrement": false,
"name": "points",
"type": "integer",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {
"ledgerScores_placement_scoringPresets_placement_fk": {
"name": "ledgerScores_placement_scoringPresets_placement_fk",
"tableFrom": "ledgerScores",
"tableTo": "scoringPresets",
"columnsFrom": [
"placement"
],
"columnsTo": [
"placement"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"ledgerScores_team_teams_id_fk": {
"name": "ledgerScores_team_teams_id_fk",
"tableFrom": "ledgerScores",
"tableTo": "teams",
"columnsFrom": [
"team"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"ledgerScores_ledgerID_ledger_id_fk": {
"name": "ledgerScores_ledgerID_ledger_id_fk",
"tableFrom": "ledgerScores",
"tableTo": "ledger",
"columnsFrom": [
"ledgerID"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"players": {
"name": "players",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"firstName": {
"autoincrement": false,
"name": "firstName",
"type": "text",
"primaryKey": false,
"notNull": true
},
"lastName": {
"autoincrement": false,
"name": "lastName",
"type": "text",
"primaryKey": false,
"notNull": true
},
"team": {
"autoincrement": false,
"name": "team",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"division": {
"autoincrement": false,
"name": "division",
"type": "text",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {
"players_division_divisions_id_fk": {
"name": "players_division_divisions_id_fk",
"tableFrom": "players",
"tableTo": "divisions",
"columnsFrom": [
"division"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
},
"players_team_teams_id_fk": {
"name": "players_team_teams_id_fk",
"tableFrom": "players",
"tableTo": "teams",
"columnsFrom": [
"team"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
}
},
"uniqueConstraints": {},
"checkConstraints": {}
},
"scorers": {
"name": "scorers",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"firstName": {
"autoincrement": false,
"name": "firstName",
"type": "text",
"primaryKey": false,
"notNull": true
},
"lastName": {
"autoincrement": false,
"name": "lastName",
"type": "text",
"primaryKey": false,
"notNull": true
},
"email": {
"autoincrement": false,
"name": "email",
"type": "text",
"primaryKey": false,
"notNull": true
},
"password": {
"autoincrement": false,
"name": "password",
"type": "text",
"primaryKey": false,
"notNull": true
},
"displayName": {
"autoincrement": false,
"name": "displayName",
"type": "text",
"primaryKey": false,
"notNull": true
},
"role": {
"default": "'scorer'",
"autoincrement": false,
"name": "role",
"type": "text",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"scoringPresets": {
"name": "scoringPresets",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"preset": {
"autoincrement": false,
"name": "preset",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"placement": {
"default": 0,
"autoincrement": false,
"name": "placement",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"points": {
"default": 0,
"autoincrement": false,
"name": "points",
"type": "integer",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"teams": {
"name": "teams",
"columns": {
"id": {
"autoincrement": true,
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true
},
"name": {
"autoincrement": false,
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true
},
"color": {
"default": "'white'",
"autoincrement": false,
"name": "color",
"type": "text",
"primaryKey": false,
"notNull": true
}
},
"compositePrimaryKeys": {},
"indexes": {},
"foreignKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
}
},
"views": {
"teamScoresView": {
"columns": {
"id": {
"autoincrement": false,
"name": "id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"name": {
"autoincrement": false,
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": false
},
"color": {
"autoincrement": false,
"name": "color",
"type": "text",
"primaryKey": false,
"notNull": false
},
"totalPoints": {
"autoincrement": false,
"name": "totalPoints",
"type": "numeric",
"primaryKey": false,
"notNull": false
}
},
"isExisting": false,
"name": "teamScoresView",
"definition": "select \"teams\".\"id\", \"teams\".\"name\", \"teams\".\"color\", sum(\"ledgerScores\".\"points\") as \"totalPoints\" from \"teams\" left join \"ledgerScores\" on \"teams\".\"id\" = \"ledgerScores\".\"team\" group by \"teams\".\"id\""
}
},
"enums": {},
"_meta": {
"columns": {},
"schemas": {},
"tables": {}
"tables": {},
"columns": {}
}
}

View File

@@ -5,8 +5,8 @@
{
"idx": 0,
"version": "6",
"when": 1777912799370,
"tag": "0000_seed_initial_data",
"when": 1778078709643,
"tag": "0000_broken_weapon_omega",
"breakpoints": true
}
]