/* Copyright (C) 2024 filifa This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ pragma foreign_keys = 0; -- check constraints are disabled for this file because the checks seem -- reasonable, but there's a surprising number of records that fail them. Not -- sure if it's a data problem or a misunderstanding on my part (or both). pragma ignore_check_constraints = 1; begin; attach database 'lahman-raw.db' as 'raw'; create temp table fielding as select * from "raw".fielding; alter table fielding drop column "lgID"; alter table fielding drop column "teamID"; update fielding set gs = nullif(gs,''), innouts = nullif(innouts,''), pb = nullif(pb,''), wp = nullif(wp,''), sb = nullif(sb,''), cs = nullif(cs,''), zr = nullif(zr,''); CREATE TABLE IF NOT EXISTS main."fielding" ( "player" TEXT, "year" NUMERIC, "stint" NUMERIC, "POS" TEXT, "G" NUMERIC, "GS" NUMERIC check (GS <= G), "InnOuts" NUMERIC, "PO" NUMERIC check (PO <= InnOuts), "A" NUMERIC, "E" NUMERIC, "DP" NUMERIC, "PB" NUMERIC, "WP" NUMERIC, "SB" NUMERIC, "CS" NUMERIC, "ZR" NUMERIC, PRIMARY KEY("player","year","stint","POS"), foreign key("year","player","stint") references "playerstints"("year","player","stint") ); insert into main.fielding select distinct * from temp."fielding"; commit;