From f09472a505736746feea45c6a620c1ea5bdd3f5e Mon Sep 17 00:00:00 2001 From: The Magician Date: Fri, 19 Apr 2024 09:09:52 +0100 Subject: [PATCH] Move responsibility for importing Colors --- sevenkeys/cmd/importdata/main.go | 33 +++++++++++++++++++++++++++++++- sevenkeys/database/setup.go | 26 ------------------------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/sevenkeys/cmd/importdata/main.go b/sevenkeys/cmd/importdata/main.go index 875252a..5d75805 100644 --- a/sevenkeys/cmd/importdata/main.go +++ b/sevenkeys/cmd/importdata/main.go @@ -1,9 +1,40 @@ package main -import "fmt" +import ( + "database/sql" + "fmt" + "log" +) + +func populateColorTable(db *sql.DB) { + query := `INSERT INTO Color (Name, Abbreviation) VALUES (?, ?);` + + insert, err := db.Prepare(query) + defer insert.Close() + if err != nil { + log.Fatal(err) + } + + colors := map[string]string{ + "White": "W", + "Blue": "U", + "Black": "B", + "Red": "R", + "Green": "G", + } + for name, abbrev := range colors { + // TODO: Don't import a color if it's already in the database + result, err := insert.Exec(name, abbrev) + rowsAffected, err := result.RowsAffected() + if err != nil || rowsAffected != 1 { + log.Fatal(err) + } + } +} func main() { // Import colors + // populateColorTable(db) // Import sets // Import keywords // Import formats diff --git a/sevenkeys/database/setup.go b/sevenkeys/database/setup.go index 55ef9fc..d4f48b5 100644 --- a/sevenkeys/database/setup.go +++ b/sevenkeys/database/setup.go @@ -81,31 +81,6 @@ func createColorTable(db *sql.DB) { } } -func populateColorTable(db *sql.DB) { - query := `INSERT INTO Color (Name, Abbreviation) VALUES (?, ?);` - - insert, err := db.Prepare(query) - defer insert.Close() - if err != nil { - log.Fatal(err) - } - - colors := map[string]string{ - "White": "W", - "Blue": "U", - "Black": "B", - "Red": "R", - "Green": "G", - } - for name, abbrev := range colors { - result, err := insert.Exec(name, abbrev) - rowsAffected, err := result.RowsAffected() - if err != nil || rowsAffected != 1 { - log.Fatal(err) - } - } -} - func createGamepieceColorTable(db *sql.DB) { query := `CREATE TABLE IF NOT EXISTS GamepieceColor ( ColorId INT, @@ -269,7 +244,6 @@ func createCardPrintingTable(db *sql.DB) { func CreateDatabaseSchema(db *sql.DB) { createGamepieceTable(db) createColorTable(db) - populateColorTable(db) createGamepieceColorTable(db) createGamepieceColorIdentityTable(db) createGamepieceColorIndicatorTable(db)