package migrationsimport ("context""database/sql""github.com/pressly/goose/v3")func init() {goose.AddMigrationContext(Up20240122223340, Down20240122223340)}func Up20240122223340(ctx context.Context, tx *sql.Tx) error {_, err := tx.ExecContext(ctx, `drop index if exists album_alphabetical_by_artist;drop index if exists album_order_album_name;drop index if exists album_order_album_artist_name;drop index if exists album_mbz_album_type;drop index if exists artist_order_artist_name;drop index if exists media_file_order_album_name;drop index if exists media_file_order_artist_name;drop index if exists media_file_order_title;drop index if exists media_file_bpm;drop index if exists media_file_channels;drop index if exists media_file_mbz_track_id;alter table albumadd image_files_new varchar not null default '';update albumset image_files_new = image_fileswhere image_files is not null;alter table albumdrop image_files;alter table albumrename image_files_new to image_files;alter table albumadd order_album_name_new varchar not null default '';update albumset order_album_name_new = order_album_namewhere order_album_name is not null;alter table albumdrop order_album_name;alter table albumrename order_album_name_new to order_album_name;alter table albumadd order_album_artist_name_new varchar not null default '';update albumset order_album_artist_name_new = order_album_artist_namewhere order_album_artist_name is not null;alter table albumdrop order_album_artist_name;alter table albumrename order_album_artist_name_new to order_album_artist_name;alter table albumadd sort_album_name_new varchar not null default '';update albumset sort_album_name_new = sort_album_namewhere sort_album_name is not null;alter table albumdrop sort_album_name;alter table albumrename sort_album_name_new to sort_album_name;alter table albumadd sort_artist_name_new varchar not null default '';update albumset sort_artist_name_new = sort_artist_namewhere sort_artist_name is not null;alter table albumdrop sort_artist_name;alter table albumrename sort_artist_name_new to sort_artist_name;alter table albumadd sort_album_artist_name_new varchar not null default '';update albumset sort_album_artist_name_new = sort_album_artist_namewhere sort_album_artist_name is not null;alter table albumdrop sort_album_artist_name;alter table albumrename sort_album_artist_name_new to sort_album_artist_name;alter table albumadd catalog_num_new varchar not null default '';update albumset catalog_num_new = catalog_numwhere catalog_num is not null;alter table albumdrop catalog_num;alter table albumrename catalog_num_new to catalog_num;alter table albumadd comment_new varchar not null default '';update albumset comment_new = commentwhere comment is not null;alter table albumdrop comment;alter table albumrename comment_new to comment;alter table albumadd paths_new varchar not null default '';update albumset paths_new = pathswhere paths is not null;alter table albumdrop paths;alter table albumrename paths_new to paths;alter table albumadd mbz_album_id_new varchar not null default '';update albumset mbz_album_id_new = mbz_album_idwhere mbz_album_id is not null;alter table albumdrop mbz_album_id;alter table albumrename mbz_album_id_new to mbz_album_id;alter table albumadd mbz_album_artist_id_new varchar not null default '';update albumset mbz_album_artist_id_new = mbz_album_artist_idwhere mbz_album_artist_id is not null;alter table albumdrop mbz_album_artist_id;alter table albumrename mbz_album_artist_id_new to mbz_album_artist_id;alter table albumadd mbz_album_type_new varchar not null default '';update albumset mbz_album_type_new = mbz_album_typewhere mbz_album_type is not null;alter table albumdrop mbz_album_type;alter table albumrename mbz_album_type_new to mbz_album_type;alter table albumadd mbz_album_comment_new varchar not null default '';update albumset mbz_album_comment_new = mbz_album_commentwhere mbz_album_comment is not null;alter table albumdrop mbz_album_comment;alter table albumrename mbz_album_comment_new to mbz_album_comment;alter table albumadd discs_new jsonb not null default '{}';update albumset discs_new = discswhere discs is not null;alter table albumdrop discs;alter table albumrename discs_new to discs;-- ARTISTalter table artistadd order_artist_name_new varchar not null default '';update artistset order_artist_name_new = order_artist_namewhere order_artist_name is not null;alter table artistdrop order_artist_name;alter table artistrename order_artist_name_new to order_artist_name;alter table artistadd sort_artist_name_new varchar not null default '';update artistset sort_artist_name_new = sort_artist_namewhere sort_artist_name is not null;alter table artistdrop sort_artist_name;alter table artistrename sort_artist_name_new to sort_artist_name;alter table artistadd mbz_artist_id_new varchar not null default '';update artistset mbz_artist_id_new = mbz_artist_idwhere mbz_artist_id is not null;alter table artistdrop mbz_artist_id;alter table artistrename mbz_artist_id_new to mbz_artist_id;-- MEDIA_FILEalter table media_fileadd order_album_name_new varchar not null default '';update media_fileset order_album_name_new = order_album_namewhere order_album_name is not null;alter table media_filedrop order_album_name;alter table media_filerename order_album_name_new to order_album_name;alter table media_fileadd order_album_artist_name_new varchar not null default '';update media_fileset order_album_artist_name_new = order_album_artist_namewhere order_album_artist_name is not null;alter table media_filedrop order_album_artist_name;alter table media_filerename order_album_artist_name_new to order_album_artist_name;alter table media_fileadd order_artist_name_new varchar not null default '';update media_fileset order_artist_name_new = order_artist_namewhere order_artist_name is not null;alter table media_filedrop order_artist_name;alter table media_filerename order_artist_name_new to order_artist_name;alter table media_fileadd sort_album_name_new varchar not null default '';update media_fileset sort_album_name_new = sort_album_namewhere sort_album_name is not null;alter table media_filedrop sort_album_name;alter table media_filerename sort_album_name_new to sort_album_name;alter table media_fileadd sort_artist_name_new varchar not null default '';update media_fileset sort_artist_name_new = sort_artist_namewhere sort_artist_name is not null;alter table media_filedrop sort_artist_name;alter table media_filerename sort_artist_name_new to sort_artist_name;alter table media_fileadd sort_album_artist_name_new varchar not null default '';update media_fileset sort_album_artist_name_new = sort_album_artist_namewhere sort_album_artist_name is not null;alter table media_filedrop sort_album_artist_name;alter table media_filerename sort_album_artist_name_new to sort_album_artist_name;alter table media_fileadd sort_title_new varchar not null default '';update media_fileset sort_title_new = sort_titlewhere sort_title is not null;alter table media_filedrop sort_title;alter table media_filerename sort_title_new to sort_title;alter table media_fileadd disc_subtitle_new varchar not null default '';update media_fileset disc_subtitle_new = disc_subtitlewhere disc_subtitle is not null;alter table media_filedrop disc_subtitle;alter table media_filerename disc_subtitle_new to disc_subtitle;alter table media_fileadd catalog_num_new varchar not null default '';update media_fileset catalog_num_new = catalog_numwhere catalog_num is not null;alter table media_filedrop catalog_num;alter table media_filerename catalog_num_new to catalog_num;alter table media_fileadd comment_new varchar not null default '';update media_fileset comment_new = commentwhere comment is not null;alter table media_filedrop comment;alter table media_filerename comment_new to comment;alter table media_fileadd order_title_new varchar not null default '';update media_fileset order_title_new = order_titlewhere order_title is not null;alter table media_filedrop order_title;alter table media_filerename order_title_new to order_title;alter table media_fileadd mbz_recording_id_new varchar not null default '';update media_fileset mbz_recording_id_new = mbz_recording_idwhere mbz_recording_id is not null;alter table media_filedrop mbz_recording_id;alter table media_filerename mbz_recording_id_new to mbz_recording_id;alter table media_fileadd mbz_album_id_new varchar not null default '';update media_fileset mbz_album_id_new = mbz_album_idwhere mbz_album_id is not null;alter table media_filedrop mbz_album_id;alter table media_filerename mbz_album_id_new to mbz_album_id;alter table media_fileadd mbz_artist_id_new varchar not null default '';update media_fileset mbz_artist_id_new = mbz_artist_idwhere mbz_artist_id is not null;alter table media_filedrop mbz_artist_id;alter table media_filerename mbz_artist_id_new to mbz_artist_id;alter table media_fileadd mbz_artist_id_new varchar not null default '';update media_fileset mbz_artist_id_new = mbz_artist_idwhere mbz_artist_id is not null;alter table media_filedrop mbz_artist_id;alter table media_filerename mbz_artist_id_new to mbz_artist_id;alter table media_fileadd mbz_album_artist_id_new varchar not null default '';update media_fileset mbz_album_artist_id_new = mbz_album_artist_idwhere mbz_album_artist_id is not null;alter table media_filedrop mbz_album_artist_id;alter table media_filerename mbz_album_artist_id_new to mbz_album_artist_id;alter table media_fileadd mbz_album_type_new varchar not null default '';update media_fileset mbz_album_type_new = mbz_album_typewhere mbz_album_type is not null;alter table media_filedrop mbz_album_type;alter table media_filerename mbz_album_type_new to mbz_album_type;alter table media_fileadd mbz_album_comment_new varchar not null default '';update media_fileset mbz_album_comment_new = mbz_album_commentwhere mbz_album_comment is not null;alter table media_filedrop mbz_album_comment;alter table media_filerename mbz_album_comment_new to mbz_album_comment;alter table media_fileadd mbz_release_track_id_new varchar not null default '';update media_fileset mbz_release_track_id_new = mbz_release_track_idwhere mbz_release_track_id is not null;alter table media_filedrop mbz_release_track_id;alter table media_filerename mbz_release_track_id_new to mbz_release_track_id;alter table media_fileadd bpm_new integer not null default 0;update media_fileset bpm_new = bpmwhere bpm is not null;alter table media_filedrop bpm;alter table media_filerename bpm_new to bpm;alter table media_fileadd channels_new integer not null default 0;update media_fileset channels_new = channelswhere channels is not null;alter table media_filedrop channels;alter table media_filerename channels_new to channels;alter table media_fileadd rg_album_gain_new real not null default 0;update media_fileset rg_album_gain_new = rg_album_gainwhere rg_album_gain is not null;alter table media_filedrop rg_album_gain;alter table media_filerename rg_album_gain_new to rg_album_gain;alter table media_fileadd rg_album_peak_new real not null default 0;update media_fileset rg_album_peak_new = rg_album_peakwhere rg_album_peak is not null;alter table media_filedrop rg_album_peak;alter table media_filerename rg_album_peak_new to rg_album_peak;alter table media_fileadd rg_track_gain_new real not null default 0;update media_fileset rg_track_gain_new = rg_track_gainwhere rg_track_gain is not null;alter table media_filedrop rg_track_gain;alter table media_filerename rg_track_gain_new to rg_track_gain;alter table media_fileadd rg_track_peak_new real not null default 0;update media_fileset rg_track_peak_new = rg_track_peakwhere rg_track_peak is not null;alter table media_filedrop rg_track_peak;alter table media_filerename rg_track_peak_new to rg_track_peak;alter table media_fileadd lyrics_new jsonb not null default '[]';update media_fileset lyrics_new = lyricswhere lyrics is not null;alter table media_filedrop lyrics;alter table media_filerename lyrics_new to lyrics;-- SHAREalter table shareadd description_new varchar not null default '';update shareset description_new = descriptionwhere description is not null;alter table sharedrop description;alter table sharerename description_new to description;alter table shareadd resource_type_new varchar not null default '';update shareset resource_type_new = resource_typewhere resource_type is not null;alter table sharedrop resource_type;alter table sharerename resource_type_new to resource_type;alter table shareadd contents_new varchar not null default '';update shareset contents_new = contentswhere contents is not null;alter table sharedrop contents;alter table sharerename contents_new to contents;alter table shareadd format_new varchar not null default '';update shareset format_new = formatwhere format is not null;alter table sharedrop format;alter table sharerename format_new to format;alter table shareadd max_bit_rate_new integer not null default 0;update shareset max_bit_rate_new = max_bit_ratewhere max_bit_rate is not null;alter table sharedrop max_bit_rate;alter table sharerename max_bit_rate_new to max_bit_rate;alter table shareadd visit_count_new integer not null default 0;update shareset visit_count_new = visit_countwhere visit_count is not null;alter table sharedrop visit_count;alter table sharerename visit_count_new to visit_count;-- INDEXcreate index album_alphabetical_by_artiston album (compilation, order_album_artist_name, order_album_name);create index album_order_album_nameon album (order_album_name);create index album_order_album_artist_nameon album (order_album_artist_name);create index album_mbz_album_typeon album (mbz_album_type);create index artist_order_artist_nameon artist (order_artist_name);create index media_file_order_album_nameon media_file (order_album_name);create index media_file_order_artist_nameon media_file (order_artist_name);create index media_file_order_titleon media_file (order_title);create index media_file_bpmon media_file (bpm);create index media_file_channelson media_file (channels);create index media_file_mbz_track_idon media_file (mbz_recording_id);`)return err}func Down20240122223340(context.Context, *sql.Tx) error {return nil}