/* 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; begin; attach database 'lahman-raw.db' as 'raw'; create temp table battingpost as select * from "raw".battingpost; alter table battingpost drop column "lgID"; alter table battingpost drop column "teamID"; update battingpost set RBI = nullif(RBI,''), SB = nullif(SB,''), CS = nullif(CS,''), SO = nullif(SO,''), IBB = nullif(IBB,''), HBP = nullif(HBP,''), SH = nullif(SH,''), SF = nullif(SF,''), GIDP = nullif(GIDP,''); CREATE TABLE IF NOT EXISTS main."battingpost" ( "year" NUMERIC, "round" NUMERIC, "player" TEXT, "G" NUMERIC, "AB" NUMERIC, "R" NUMERIC, "H" NUMERIC check (H <= AB), "2B" NUMERIC check ("2B" <= H), "3B" NUMERIC check ("3B" <= H), "HR" NUMERIC check ("HR" <= H), "RBI" NUMERIC, "SB" NUMERIC, "CS" NUMERIC, "BB" NUMERIC, "SO" NUMERIC check (SO <= AB), "IBB" NUMERIC check (IBB <= BB), "HBP" NUMERIC, "SH" NUMERIC, "SF" NUMERIC, "GIDP" NUMERIC check (GIDP <= AB), PRIMARY KEY("year","player","round"), foreign key("player","year") references "appearancespost"("player","year"), foreign key("year","round") references "seriespost"("year","round") ); insert into main.battingpost select distinct * from temp."battingpost"; commit;