-- 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;