-- README
-- Prefix idx_ = index
-- Prefix fk_  = foreign
-- Create an index for fast lookups
-- Defining constraints separately for better readability & maintainability
-- Prefix p_   = Procedure
-- Prefix i_   = Input(s)
-- Prefix v_   = Variable(s)
-- Prefix o_   = Output(s)

-- Main table

create table if not exists `metaprofile` (
	`id`			int(11) 		not null auto_increment primary key,
	`favicon`		longtext		default null,
	`copyright`		longtext		default null
) engine=InnoDB default charset=utf8mb4;

create table if not exists `metaprofile_baseurl` (
	`id`			int(11) 		not null auto_increment primary key,
	`metaprofile`	int(11)			not null,
	`name`			longtext		not null,
	`url`			longtext		not null,
	key 			`idx_metaprofile` 	(`metaprofile`),
	constraint `metaprofile_baseurl_fk_metaprofile`
		foreign key (`metaprofile`) references `metaprofile` (`id`)
		on update cascade
		on delete cascade
) engine=InnoDB default charset=utf8mb4;

create table if not exists `metaprofile_brand` (
	`id`			int(11) 		not null auto_increment primary key,
	`metaprofile`	int(11)			not null,
	`name`			longtext		not null,
	`tagline`		longtext		default null,
	`description`	longtext		default null,
	key 			`idx_metaprofile` 	(`metaprofile`),
	constraint `metaprofile_brand_fk_metaprofile`
		foreign key (`metaprofile`) references `metaprofile` (`id`)
		on update cascade
		on delete cascade
) engine=InnoDB default charset=utf8mb4;

create table if not exists `metaprofile_brand_logo` (
	`id`			int(11) 		not null auto_increment primary key,
	`brand`			int(11)			not null,
	`name`			longtext		not null,
	`image`			longtext		not null,
	key 			`idx_brand` 	(`brand`),
	constraint `metaprofile_brand_logo_fk_brand`
		foreign key (`brand`) references `metaprofile_brand` (`id`)
		on update cascade
		on delete cascade
) engine=InnoDB default charset=utf8mb4;
