74 lines
2.1 KiB
SQL
74 lines
2.1 KiB
SQL
-- README
|
|
-- idx_ = index
|
|
-- fk_ = foreign
|
|
-- Create an index for fast lookups
|
|
-- Defining constraints separately for better readability & maintainability
|
|
|
|
-- Item table
|
|
|
|
create table if not exists `catalog_item` (
|
|
`id` int(11) not null auto_increment primary key,
|
|
name varchar(36) not null
|
|
) engine=InnoDB default charset=utf8mb4;
|
|
|
|
insert into `catalog_item` values
|
|
(default, 'Item A'),
|
|
(default, 'Item B'),
|
|
(default, 'Item C'),
|
|
(default, 'Item D'),
|
|
(default, 'Item E'),
|
|
(default, 'Item F'),
|
|
(default, 'Item G');
|
|
|
|
-- Main table
|
|
|
|
create table if not exists `highlight_category` (
|
|
`id` int(11) not null auto_increment primary key,
|
|
`title` longtext not null,
|
|
`desc` longtext default null,
|
|
`background` longtext default null,
|
|
`illustration` longtext default null
|
|
) engine=InnoDB default charset=utf8mb4;
|
|
|
|
-- Bridge table
|
|
|
|
/*
|
|
create table if not exists `highlight_<item>` (
|
|
`id` int(11) not null auto_increment primary key,
|
|
`<fk>` int(11) not null,
|
|
`category` int(11) not null,
|
|
key `idx_<fk>` (`<fk>`),
|
|
key `idx_category` (`category`),
|
|
constraint `highlight_<item>_fk_<fk>`
|
|
foreign key (`<fk>`) references `<table>` (`<pk>`)
|
|
on update cascade
|
|
on delete cascade,
|
|
constraint `highlight_videdu_fk_category`
|
|
foreign key (`category`) references `highlight_category` (`id`)
|
|
on update cascade
|
|
on delete cascade
|
|
) engine=InnoDB default charset=utf8mb4;
|
|
*/
|
|
|
|
-- <item> = Your reference module name : "catalog" [2]
|
|
-- <fk> = Your FK field name : "item" [5]
|
|
-- <table> = Your reference table name : "catalog_item" [1]
|
|
-- <pk> = Your reference table PK : "id" [1]
|
|
|
|
create table if not exists `highlight_catalog` (
|
|
`id` int(11) not null auto_increment primary key,
|
|
`item` int(11) not null,
|
|
`category` int(11) not null,
|
|
key `idx_item` (`item`),
|
|
key `idx_category` (`category`),
|
|
constraint `highlight_catalog_fk_item`
|
|
foreign key (`item`) references `catalog_item` (`id`)
|
|
on update cascade
|
|
on delete cascade,
|
|
constraint `highlight_videdu_fk_category`
|
|
foreign key (`category`) references `highlight_category` (`id`)
|
|
on update cascade
|
|
on delete cascade
|
|
) engine=InnoDB default charset=utf8mb4;
|
|
|