DROP TABLE IF EXISTS notes
CREATE TABLE IF NOT EXISTS notes(id INTEGER PRIMARY KEY, type_id INT, date DATE, notes TEXT, time_stamp INT DEFAULT 0, active BOOLEAN DEFAULT 1, uuid TEXT);
INSERT INTO notes (id, date, type_id, notes, time_stamp, active) SELECT ROW_NUMBER() OVER(ORDER BY date, type_id) AS id, date, type_id, notes, time_stamp, 1 AS active FROM (SELECT date, 1 AS type_id, notes, time_stamp FROM lmm_meeting WHERE notes <> '' AND active = 1 UNION SELECT date, 2 AS type_id, notes, time_stamp FROM publicmeeting WHERE notes <> '' AND active = 1)

ALTER TABLE lmm_meeting RENAME TO lmm_meeting_old;
CREATE TABLE lmm_meeting (id INTEGER PRIMARY KEY NOT NULL, date DATE, bible_reading TEXT, chairman INT, counselor2 INT DEFAULT -1, counselor3 INT DEFAULT -1, prayer_beginning INT DEFAULT (- 1), prayer_end INT DEFAULT (- 1), song_beginning INT, song_middle INT, song_end INT, opening_comments text, closing_comments text, time_stamp INT DEFAULT (0), active BOOLEAN DEFAULT (1), uuid TEXT);
DELETE FROM lmm_meeting;
INSERT INTO lmm_meeting (id, date, bible_reading, chairman, counselor2, counselor3, prayer_beginning, prayer_end, song_beginning, song_middle, song_end, opening_comments, closing_comments, time_stamp, active, uuid) SELECT id, date, bible_reading, chairman, counselor2, counselor3, prayer_beginning, prayer_end, song_beginning, song_middle, song_end, opening_comments, closing_comments, time_stamp, active, uuid FROM lmm_meeting_old;
DROP TABLE lmm_meeting_old;

ALTER TABLE publicmeeting RENAME TO publicmeeting_old;
CREATE TABLE publicmeeting(id INTEGER PRIMARY KEY, date DATE, chairman_id INT, theme_id INT, speaker_id INT, final_talk TEXT, hospitality_id int, wt_source TEXT, wt_theme text, wt_conductor_id INT, wtreader_id INT, song_pt INT, song_wt_start INT, song_wt_end INT, opening_prayer_id int, final_prayer_id int, time_stamp INT DEFAULT 0, active BOOLEAN DEFAULT 1, uuid TEXT);
DELETE FROM publicmeeting;
INSERT INTO publicmeeting (id, date, chairman_id, theme_id, speaker_id, final_talk, hospitality_id, wt_source, wt_theme, wt_conductor_id, wtreader_id, song_pt, song_wt_start, song_wt_end, final_prayer_id, time_stamp, active, uuid) SELECT id, date, chairman_id, theme_id, speaker_id, final_talk, hospitality_id, wt_source, wt_theme, wt_conductor_id, wtreader_id, song_pt, song_wt_start, song_wt_end, final_prayer_id, time_stamp, active, uuid FROM publicmeeting_old;
DROP TABLE publicmeeting_old;

DROP VIEW publicmeetinghistory;
CREATE VIEW publicmeetinghistory AS SELECT DISTINCT m.date AS weekof, date(m.date, (ifnull(cmt.mtg_day, 7) - 1) || ' day') AS mtg_date, m.theme_id AS theme_id, pt.theme_number, pt.theme_name AS theme, m.speaker_id AS speaker_id, m.chairman_id AS chairman_id, m.wtreader_id AS wtreader_id, m.wt_conductor_id, m.wt_source, m.wt_theme, m.final_talk, m.song_pt, m.song_wt_start, m.song_wt_end, m.hospitality_id, m.final_prayer_id, m.id FROM publicmeeting m LEFT JOIN publictalks pt ON m.theme_id = pt.id LEFT JOIN congregationmeetingtimes cmt ON cmt.congregation_id = (SELECT value FROM settings WHERE name = 'congregation_id') AND strftime('%Y', m.date) = cmt.mtg_year;

delete from lmm_workbookregex where lang = 'fon'
insert into lmm_workbookregex (lang, key, value) select 'fon', 'date1', ''
insert into lmm_workbookregex (lang, key, value) select 'fon', 'song', 'Han\s*(\d+)'
insert into lmm_workbookregex (lang, key, value) select 'fon', 'timing', '[(]Cɛju\s*(?<timing>\d+)\s*(?<timingextra>[^)]*)[)]'
insert into lmm_workbookregex (lang, key, value) select 'fon', 'study', '[(]th.nǔkpɔ́nnúmɛ.(?<source>\d+)[)]'
insert into lmm_workbookregex (lang, key, value) select 'fon', 'assignment1', '•(?<theme>[^•]+)•*(?<source>.*)'

delete from lmm_workbookregex where lang = 'ru'
insert into lmm_workbookregex (lang, key, value) select 'ru', 'date1', '^(?<fromday>\d+)\s*(?<month1>\D*)\s*\d*\d*\d*\d*\s*—\s*(?<thruday>\d+)\s(?<month2>\D+)\s*\d*\d*\d*\d*$'
insert into lmm_workbookregex (lang, key, value) select 'ru', 'song', 'Песня\s*(\d+)(.*)'
insert into lmm_workbookregex (lang, key, value) select 'ru', 'timing', '[(](?<timing>\d+)\sмин(?<timingextra>[^)]*)[)]'
insert into lmm_workbookregex (lang, key, value) select 'ru', 'study', '[(]th.урок.(\d+)'
insert into lmm_workbookregex (lang, key, value) select 'ru', 'assignment1', '•(?<theme>[^•]+)•*(?<source>.*)'

delete from lmm_workbookregex where lang = 'xh'
insert into lmm_workbookregex (lang, key, value) select 'xh', 'date1', ''
insert into lmm_workbookregex (lang, key, value) select 'xh', 'song', 'Ingoma\s(\d+)'
insert into lmm_workbookregex (lang, key, value) select 'xh', 'timing', '[(]imiz[.]\s(?<timing>\d+)[)]'
insert into lmm_workbookregex (lang, key, value) select 'xh', 'study', '[(]th.isifundo.(\d+)[)]'
insert into lmm_workbookregex (lang, key, value) select 'xh', 'assignment1', '•(?<theme>[^•]+)•*(?<source>.*)'
