-- Sqlites alter table statement can NOT change existing columns.  The only
-- option since we need to change the nullability of event_variant is to
-- recreate the table and copy the data over.

-- Rename current table to temporary name
ALTER TABLE /*_*/echo_event RENAME TO /*_*/temp_echo_event_variant_nullability;

-- Recreate table using the proper nullability constraint for event_variant
CREATE TABLE /*_*/echo_event (
    event_id int unsigned not null primary key auto_increment,
    event_type varchar(64) binary not null,
    event_variant varchar(64) binary null,
    event_agent_id int unsigned null, -- The user who triggered it, if any
    event_agent_ip varchar(39) binary null, -- IP address who triggered it, if any
    event_page_namespace int unsigned null,
    event_page_title varchar(255) binary null,
    event_extra BLOB NULL
) /*$wgDBTableOptions*/;

-- Copy over all the old data into the new table
INSERT INTO /*_*/echo_event 
	(event_id, event_type, event_variant, event_agent_id, event_agent_ip, event_page_namespace, event_page_title, event_extra)
SELECT
	event_id, event_type, event_variant, event_agent_id, event_agent_ip, event_page_namespace, event_page_title, event_extra
FROM
	/*_*/temp_echo_event_variant_nullability;

-- Drop the original table
DROP TABLE /*_*/temp_echo_event_variant_nullability;

-- recreate indexes
CREATE INDEX /*i*/echo_event_type ON /*_*/echo_event (event_type);

