DBIx-Class
view release on metacpan or search on metacpan
t/lib/sqlite.sql view on Meta::CPAN
"title" varchar(100) NOT NULL,
"year" varchar(100) NOT NULL,
"genreid" integer,
"single_track" integer,
FOREIGN KEY ("artist") REFERENCES "artist"("artistid") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("single_track") REFERENCES "track"("trackid") ON DELETE CASCADE,
FOREIGN KEY ("genreid") REFERENCES "genre"("genreid") ON DELETE SET NULL ON UPDATE CASCADE
);
CREATE INDEX "cd_idx_artist" ON "cd" ("artist");
CREATE INDEX "cd_idx_single_track" ON "cd" ("single_track");
CREATE INDEX "cd_idx_genreid" ON "cd" ("genreid");
CREATE UNIQUE INDEX "cd_artist_title" ON "cd" ("artist", "title");
CREATE TABLE "collection_object" (
"collection" integer NOT NULL,
"object" integer NOT NULL,
PRIMARY KEY ("collection", "object"),
FOREIGN KEY ("collection") REFERENCES "collection"("collectionid") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("object") REFERENCES "typed_object"("objectid") ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE INDEX "collection_object_idx_collection" ON "collection_object" ("collection");
CREATE INDEX "collection_object_idx_object" ON "collection_object" ("object");
CREATE TABLE "lyrics" (
"lyric_id" INTEGER PRIMARY KEY NOT NULL,
"track_id" integer NOT NULL,
FOREIGN KEY ("track_id") REFERENCES "track"("trackid") ON DELETE CASCADE
);
CREATE INDEX "lyrics_idx_track_id" ON "lyrics" ("track_id");
CREATE TABLE "cd_artwork" (
"cd_id" INTEGER PRIMARY KEY NOT NULL,
FOREIGN KEY ("cd_id") REFERENCES "cd"("cdid") ON DELETE CASCADE
);
CREATE TABLE "liner_notes" (
"liner_id" INTEGER PRIMARY KEY NOT NULL,
"notes" varchar(100) NOT NULL,
FOREIGN KEY ("liner_id") REFERENCES "cd"("cdid") ON DELETE CASCADE
);
CREATE TABLE "lyric_versions" (
"id" INTEGER PRIMARY KEY NOT NULL,
"lyric_id" integer NOT NULL,
"text" varchar(100) NOT NULL,
FOREIGN KEY ("lyric_id") REFERENCES "lyrics"("lyric_id") ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE INDEX "lyric_versions_idx_lyric_id" ON "lyric_versions" ("lyric_id");
CREATE UNIQUE INDEX "lyric_versions_lyric_id_text" ON "lyric_versions" ("lyric_id", "text");
CREATE TABLE "tags" (
"tagid" INTEGER PRIMARY KEY NOT NULL,
"cd" integer NOT NULL,
"tag" varchar(100) NOT NULL,
FOREIGN KEY ("cd") REFERENCES "cd"("cdid") ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE INDEX "tags_idx_cd" ON "tags" ("cd");
CREATE UNIQUE INDEX "tagid_cd" ON "tags" ("tagid", "cd");
CREATE UNIQUE INDEX "tagid_cd_tag" ON "tags" ("tagid", "cd", "tag");
CREATE UNIQUE INDEX "tags_tagid_tag" ON "tags" ("tagid", "tag");
CREATE UNIQUE INDEX "tags_tagid_tag_cd" ON "tags" ("tagid", "tag", "cd");
CREATE TABLE "cd_to_producer" (
"cd" integer NOT NULL,
"producer" integer NOT NULL,
"attribute" integer,
PRIMARY KEY ("cd", "producer"),
FOREIGN KEY ("cd") REFERENCES "cd"("cdid") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("producer") REFERENCES "producer"("producerid")
);
CREATE INDEX "cd_to_producer_idx_cd" ON "cd_to_producer" ("cd");
CREATE INDEX "cd_to_producer_idx_producer" ON "cd_to_producer" ("producer");
CREATE TABLE "images" (
"id" INTEGER PRIMARY KEY NOT NULL,
"artwork_id" integer NOT NULL,
"name" varchar(100) NOT NULL,
"data" blob,
FOREIGN KEY ("artwork_id") REFERENCES "cd_artwork"("cd_id") ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE INDEX "images_idx_artwork_id" ON "images" ("artwork_id");
CREATE TABLE "twokeys" (
"artist" integer NOT NULL,
"cd" integer NOT NULL,
PRIMARY KEY ("artist", "cd"),
FOREIGN KEY ("artist") REFERENCES "artist"("artistid") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("cd") REFERENCES "cd"("cdid")
);
CREATE INDEX "twokeys_idx_artist" ON "twokeys" ("artist");
CREATE TABLE "artwork_to_artist" (
"artwork_cd_id" integer NOT NULL,
"artist_id" integer NOT NULL,
PRIMARY KEY ("artwork_cd_id", "artist_id"),
FOREIGN KEY ("artist_id") REFERENCES "artist"("artistid") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("artwork_cd_id") REFERENCES "cd_artwork"("cd_id") ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE INDEX "artwork_to_artist_idx_artist_id" ON "artwork_to_artist" ("artist_id");
CREATE INDEX "artwork_to_artist_idx_artwork_cd_id" ON "artwork_to_artist" ("artwork_cd_id");
CREATE TABLE "fourkeys_to_twokeys" (
"f_foo" integer NOT NULL,
"f_bar" integer NOT NULL,
"f_hello" integer NOT NULL,
"f_goodbye" integer NOT NULL,
"t_artist" integer NOT NULL,
"t_cd" integer NOT NULL,
"autopilot" character NOT NULL,
"pilot_sequence" integer,
PRIMARY KEY ("f_foo", "f_bar", "f_hello", "f_goodbye", "t_artist", "t_cd"),
FOREIGN KEY ("f_foo", "f_bar", "f_hello", "f_goodbye") REFERENCES "fourkeys"("foo", "bar", "hello", "goodbye") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("t_artist", "t_cd") REFERENCES "twokeys"("artist", "cd") ON DELETE CASCADE ON UPDATE CASCADE
);
( run in 0.541 second using v1.01-cache-2.11-cpan-5735350b133 )