CREATE TABLE IF NOT EXISTS categorydatakeys ( id serial NOT NULL, name character varying(255) NOT NULL, CONSTRAINT categorydatakeys_pkey PRIMARY KEY (id) ); DROP INDEX IF EXISTS categorydatakeys_value_idx; CREATE UNIQUE INDEX categorydatakeys_value_idx ON categorydatakeys (name); CREATE TABLE IF NOT EXISTS categorydata ( category_id integer NOT NULL, datakey_id integer NOT NULL, locale_id integer NOT NULL, text text NOT NULL, CONSTRAINT categorydata_pkey PRIMARY KEY (category_id, datakey_id, locale_id), CONSTRAINT categorydata_category_id_fkey FOREIGN KEY (category_id) REFERENCES categories (id), CONSTRAINT categorydata_datakey_id_fkey FOREIGN KEY (datakey_id) REFERENCES categorydatakeys (id), CONSTRAINT categorydata_locale_id_fkey FOREIGN KEY (locale_id) REFERENCES locales (id) ); INSERT INTO categorydatakeys (name) VALUES ('canvas_pagetitle'), ('canvas_metadesc'), ('wallpaper_pagetitle'), ('wallpaper_metadesc'), ('design_wallpaper_pagetitle'), ('design_wallpaper_metadesc');