50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE TABLE reminder_template (
 | 
						|
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
 | 
						|
 | 
						|
    `name` VARCHAR(24) NOT NULL DEFAULT 'Reminder',
 | 
						|
 | 
						|
    `guild_id` INT UNSIGNED NOT NULL,
 | 
						|
 | 
						|
    `username` VARCHAR(32) DEFAULT NULL,
 | 
						|
    `avatar` VARCHAR(512) DEFAULT NULL,
 | 
						|
 | 
						|
    `content` VARCHAR(2048) NOT NULL DEFAULT '',
 | 
						|
    `tts` BOOL NOT NULL DEFAULT 0,
 | 
						|
    `attachment` MEDIUMBLOB,
 | 
						|
    `attachment_name` VARCHAR(260),
 | 
						|
 | 
						|
    `embed_title` VARCHAR(256) NOT NULL DEFAULT '',
 | 
						|
    `embed_description` VARCHAR(2048) NOT NULL DEFAULT '',
 | 
						|
    `embed_image_url` VARCHAR(512),
 | 
						|
    `embed_thumbnail_url` VARCHAR(512),
 | 
						|
    `embed_footer` VARCHAR(2048) NOT NULL DEFAULT '',
 | 
						|
    `embed_footer_url` VARCHAR(512),
 | 
						|
    `embed_author` VARCHAR(256) NOT NULL DEFAULT '',
 | 
						|
    `embed_author_url` VARCHAR(512),
 | 
						|
    `embed_color` INT UNSIGNED NOT NULL DEFAULT 0x0,
 | 
						|
    `embed_fields` JSON,
 | 
						|
 | 
						|
    PRIMARY KEY (id),
 | 
						|
 | 
						|
    FOREIGN KEY (`guild_id`) REFERENCES guilds (`id`) ON DELETE CASCADE
 | 
						|
);
 | 
						|
 | 
						|
ALTER TABLE reminders ADD COLUMN embed_fields JSON;
 | 
						|
 | 
						|
update reminders
 | 
						|
    inner join embed_fields as E
 | 
						|
    on E.reminder_id = reminders.id
 | 
						|
set embed_fields = (
 | 
						|
    select JSON_ARRAYAGG(
 | 
						|
        JSON_OBJECT(
 | 
						|
            'title', E.title,
 | 
						|
            'value', E.value,
 | 
						|
            'inline',
 | 
						|
            if(inline = 1, cast(TRUE as json), cast(FALSE as json))
 | 
						|
            )
 | 
						|
        )
 | 
						|
    from embed_fields
 | 
						|
    group by reminder_id
 | 
						|
    having reminder_id = reminders.id
 | 
						|
    );
 |