pragma foreign_keys = 0;

begin;
attach database 'baseball-raw.db' as 'raw';

create temp table halloffame as
select * from "raw".halloffame;

update halloffame
set ballots = null
where ballots = '' or ballots = 'NA';

update halloffame
set needed = null
where needed = '' or needed = 'NA';

update halloffame
set "needed_note" = nullif("needed_note",'');

CREATE TABLE IF NOT EXISTS main."halloffame" (
	"player"	TEXT,
	"year"	NUMERIC,
	"votedBy"	TEXT,
	"ballots"	TEXT,
	"needed"	TEXT,
	"votes"	NUMERIC,
	-- we could have a check for if inducted is Y or N, but there are too many rows i don't feel like correcting right now
	"inducted"	TEXT,
	"category"	TEXT,
	"needed_note"	text,
	PRIMARY KEY("player","year","votedBy")
	foreign key("player") references "people"("ID"),
	foreign key("year","votedBy") references "halloffamereqs"("year","votedBy")
);

insert into main.halloffame select distinct * from temp.halloffame;
commit;
