X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2Fsqlite.sql;h=ea5891b47dc9ce1418bfcc210e095d1990bcf949;hb=3d98c75e2c45cbd5ddd995cbeb48810f6ad7e1ca;hp=d711fbc6c52d1937d3eaeaea0296f1b1e62a2393;hpb=d3fba9e774c5c99eed84a182beab1ac25c68509a;p=dbsrgits%2FDBIx-Class.git diff --git a/t/lib/sqlite.sql b/t/lib/sqlite.sql index d711fbc..ea5891b 100644 --- a/t/lib/sqlite.sql +++ b/t/lib/sqlite.sql @@ -1,9 +1,7 @@ -- -- Created by SQL::Translator::Producer::SQLite --- Created on Sat Jan 17 19:40:47 2009 +-- Created on Thu Nov 18 08:18:15 2010 -- -BEGIN TRANSACTION; - -- -- Table: artist @@ -11,31 +9,15 @@ BEGIN TRANSACTION; CREATE TABLE artist ( artistid INTEGER PRIMARY KEY NOT NULL, name varchar(100), - rank integer NOT NULL DEFAULT '13', + rank integer NOT NULL DEFAULT 13, charfield char(10) ); +CREATE INDEX artist_name_hookidx ON artist (name); --- --- Table: artist_undirected_map --- -CREATE TABLE artist_undirected_map ( - id1 integer NOT NULL, - id2 integer NOT NULL, - PRIMARY KEY (id1, id2) -); - -CREATE INDEX artist_undirected_map_idx_id1_ ON artist_undirected_map (id1); -CREATE INDEX artist_undirected_map_idx_id2_ ON artist_undirected_map (id2); - --- --- Table: cd_artwork --- -CREATE TABLE cd_artwork ( - cd_id INTEGER PRIMARY KEY NOT NULL -); +CREATE UNIQUE INDEX artist_name ON artist (name); -CREATE INDEX cd_artwork_idx_cd_id_cd_artwor ON cd_artwork (cd_id); +CREATE UNIQUE INDEX u_nullable ON artist (charfield, rank); -- -- Table: bindtype_test @@ -47,309 +29,352 @@ CREATE TABLE bindtype_test ( clob clob ); - -- --- Table: artwork_to_artist +-- Table: collection -- -CREATE TABLE artwork_to_artist ( - artwork_cd_id integer NOT NULL, - artist_id integer NOT NULL, - PRIMARY KEY (artwork_cd_id, artist_id) +CREATE TABLE collection ( + collectionid INTEGER PRIMARY KEY NOT NULL, + name varchar(100) NOT NULL ); -CREATE INDEX artwork_to_artist_idx_artist_id_artwork_to_arti ON artwork_to_artist (artist_id); -CREATE INDEX artwork_to_artist_idx_artwork_cd_id_artwork_to_ ON artwork_to_artist (artwork_cd_id); - -- --- Table: bookmark +-- Table: encoded -- -CREATE TABLE bookmark ( +CREATE TABLE encoded ( id INTEGER PRIMARY KEY NOT NULL, - link integer NOT NULL + encoded varchar(100) ); -CREATE INDEX bookmark_idx_link_bookmark ON bookmark (link); - -- --- Table: books +-- Table: event -- -CREATE TABLE books ( +CREATE TABLE event ( id INTEGER PRIMARY KEY NOT NULL, - source varchar(100) NOT NULL, - owner integer NOT NULL, - title varchar(100) NOT NULL, - price integer + starts_at date NOT NULL, + created_on timestamp NOT NULL, + varchar_date varchar(20), + varchar_datetime varchar(20), + skip_inflation datetime, + ts_without_tz datetime ); - -- --- Table: cd +-- Table: file_columns -- -CREATE TABLE cd ( - cdid INTEGER PRIMARY KEY NOT NULL, - artist integer NOT NULL, - title varchar(100) NOT NULL, - year varchar(100) NOT NULL, - genreid integer, - single_track integer +CREATE TABLE file_columns ( + id INTEGER PRIMARY KEY NOT NULL, + file varchar(255) NOT NULL ); -CREATE INDEX cd_idx_artist_cd ON cd (artist); -CREATE INDEX cd_idx_genreid_cd ON cd (genreid); -CREATE INDEX cd_idx_single_track_cd ON cd (single_track); -CREATE UNIQUE INDEX cd_artist_title_cd ON cd (artist, title); - -- --- Table: cd_to_producer +-- Table: fourkeys -- -CREATE TABLE cd_to_producer ( - cd integer NOT NULL, - producer integer NOT NULL, - PRIMARY KEY (cd, producer) +CREATE TABLE fourkeys ( + foo integer NOT NULL, + bar integer NOT NULL, + hello integer NOT NULL, + goodbye integer NOT NULL, + sensors character(10) NOT NULL, + read_count integer, + PRIMARY KEY (foo, bar, hello, goodbye) ); -CREATE INDEX cd_to_producer_idx_cd_cd_to_pr ON cd_to_producer (cd); -CREATE INDEX cd_to_producer_idx_producer_cd ON cd_to_producer (producer); - -- --- Table: collection +-- Table: genre -- -CREATE TABLE collection ( - collectionid INTEGER PRIMARY KEY NOT NULL, +CREATE TABLE genre ( + genreid INTEGER PRIMARY KEY NOT NULL, name varchar(100) NOT NULL ); +CREATE UNIQUE INDEX genre_name ON genre (name); -- --- Table: collection_object +-- Table: link -- -CREATE TABLE collection_object ( - collection integer NOT NULL, - object integer NOT NULL, - PRIMARY KEY (collection, object) +CREATE TABLE link ( + id INTEGER PRIMARY KEY NOT NULL, + url varchar(100), + title varchar(100) ); -CREATE INDEX collection_object_idx_collection_collection_obj ON collection_object (collection); -CREATE INDEX collection_object_idx_object_c ON collection_object (object); +-- +-- Table: money_test +-- +CREATE TABLE money_test ( + id INTEGER PRIMARY KEY NOT NULL, + amount money +); -- --- Table: employee +-- Table: noprimarykey -- -CREATE TABLE employee ( - employee_id INTEGER PRIMARY KEY NOT NULL, - position integer NOT NULL, - group_id integer, - group_id_2 integer, - name varchar(100) +CREATE TABLE noprimarykey ( + foo integer NOT NULL, + bar integer NOT NULL, + baz integer NOT NULL ); +CREATE UNIQUE INDEX foo_bar ON noprimarykey (foo, bar); -- --- Table: event +-- Table: onekey -- -CREATE TABLE event ( +CREATE TABLE onekey ( id INTEGER PRIMARY KEY NOT NULL, - starts_at datetime NOT NULL, - created_on timestamp NOT NULL, - varchar_date varchar(20), - varchar_datetime varchar(20), - skip_inflation datetime + artist integer NOT NULL, + cd integer NOT NULL ); - -- --- Table: file_columns +-- Table: owners -- -CREATE TABLE file_columns ( +CREATE TABLE owners ( id INTEGER PRIMARY KEY NOT NULL, - file varchar(255) NOT NULL + name varchar(100) NOT NULL ); - -- --- Table: forceforeign +-- Table: producer -- -CREATE TABLE forceforeign ( - artist INTEGER PRIMARY KEY NOT NULL, - cd integer NOT NULL +CREATE TABLE producer ( + producerid INTEGER PRIMARY KEY NOT NULL, + name varchar(100) NOT NULL ); -CREATE INDEX forceforeign_idx_artist_forcef ON forceforeign (artist); +CREATE UNIQUE INDEX prod_name ON producer (name); -- --- Table: fourkeys +-- Table: self_ref -- -CREATE TABLE fourkeys ( - foo integer NOT NULL, - bar integer NOT NULL, - hello integer NOT NULL, - goodbye integer NOT NULL, - sensors character NOT NULL, - PRIMARY KEY (foo, bar, hello, goodbye) +CREATE TABLE self_ref ( + id INTEGER PRIMARY KEY NOT NULL, + name varchar(100) NOT NULL ); +-- +-- Table: sequence_test +-- +CREATE TABLE sequence_test ( + pkid1 integer NOT NULL, + pkid2 integer NOT NULL, + nonpkid integer NOT NULL, + name varchar(100), + PRIMARY KEY (pkid1, pkid2) +); -- --- Table: fourkeys_to_twokeys +-- Table: serialized -- -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, - PRIMARY KEY (f_foo, f_bar, f_hello, f_goodbye, t_artist, t_cd) +CREATE TABLE serialized ( + id INTEGER PRIMARY KEY NOT NULL, + serialized text NOT NULL ); -CREATE INDEX fourkeys_to_twokeys_idx_f_foo_f_bar_f_hello_f_goodbye_ ON fourkeys_to_twokeys (f_foo, f_bar, f_hello, f_goodbye); -CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd_fourkeys_to ON fourkeys_to_twokeys (t_artist, t_cd); +-- +-- Table: timestamp_primary_key_test +-- +CREATE TABLE timestamp_primary_key_test ( + id timestamp NOT NULL DEFAULT current_timestamp, + PRIMARY KEY (id) +); -- --- Table: genre +-- Table: treelike -- -CREATE TABLE genre ( - genreid INTEGER PRIMARY KEY NOT NULL, +CREATE TABLE treelike ( + id INTEGER PRIMARY KEY NOT NULL, + parent integer, name varchar(100) NOT NULL ); -CREATE UNIQUE INDEX genre_name_genre ON genre (name); +CREATE INDEX treelike_idx_parent ON treelike (parent); -- --- Table: images +-- Table: twokeytreelike -- -CREATE TABLE images ( - id INTEGER PRIMARY KEY NOT NULL, - artwork_id integer NOT NULL, +CREATE TABLE twokeytreelike ( + id1 integer NOT NULL, + id2 integer NOT NULL, + parent1 integer NOT NULL, + parent2 integer NOT NULL, name varchar(100) NOT NULL, - data blob + PRIMARY KEY (id1, id2) ); -CREATE INDEX images_idx_artwork_id_images ON images (artwork_id); +CREATE INDEX twokeytreelike_idx_parent1_parent2 ON twokeytreelike (parent1, parent2); + +CREATE UNIQUE INDEX tktlnameunique ON twokeytreelike (name); -- --- Table: liner_notes +-- Table: typed_object -- -CREATE TABLE liner_notes ( - liner_id INTEGER PRIMARY KEY NOT NULL, - notes varchar(100) NOT NULL +CREATE TABLE typed_object ( + objectid INTEGER PRIMARY KEY NOT NULL, + type varchar(100) NOT NULL, + value varchar(100) NOT NULL ); -CREATE INDEX liner_notes_idx_liner_id_liner ON liner_notes (liner_id); - -- --- Table: link +-- Table: artist_undirected_map -- -CREATE TABLE link ( - id INTEGER PRIMARY KEY NOT NULL, - url varchar(100), - title varchar(100) +CREATE TABLE artist_undirected_map ( + id1 integer NOT NULL, + id2 integer NOT NULL, + PRIMARY KEY (id1, id2) ); +CREATE INDEX artist_undirected_map_idx_id1 ON artist_undirected_map (id1); + +CREATE INDEX artist_undirected_map_idx_id2 ON artist_undirected_map (id2); -- --- Table: lyric_versions +-- Table: bookmark -- -CREATE TABLE lyric_versions ( +CREATE TABLE bookmark ( id INTEGER PRIMARY KEY NOT NULL, - lyric_id integer NOT NULL, - text varchar(100) NOT NULL + link integer ); -CREATE INDEX lyric_versions_idx_lyric_id_ly ON lyric_versions (lyric_id); +CREATE INDEX bookmark_idx_link ON bookmark (link); -- --- Table: lyrics +-- Table: books -- -CREATE TABLE lyrics ( - lyric_id INTEGER PRIMARY KEY NOT NULL, - track_id integer NOT NULL +CREATE TABLE books ( + id INTEGER PRIMARY KEY NOT NULL, + source varchar(100) NOT NULL, + owner integer NOT NULL, + title varchar(100) NOT NULL, + price integer ); -CREATE INDEX lyrics_idx_track_id_lyrics ON lyrics (track_id); +CREATE INDEX books_idx_owner ON books (owner); + +CREATE UNIQUE INDEX books_title ON books (title); -- --- Table: noprimarykey +-- Table: employee -- -CREATE TABLE noprimarykey ( - foo integer NOT NULL, - bar integer NOT NULL, - baz integer NOT NULL +CREATE TABLE employee ( + employee_id INTEGER PRIMARY KEY NOT NULL, + position integer NOT NULL, + group_id integer, + group_id_2 integer, + group_id_3 integer, + name varchar(100), + encoded integer ); -CREATE UNIQUE INDEX foo_bar_noprimarykey ON noprimarykey (foo, bar); +CREATE INDEX employee_idx_encoded ON employee (encoded); -- --- Table: onekey +-- Table: forceforeign -- -CREATE TABLE onekey ( - id INTEGER PRIMARY KEY NOT NULL, - artist integer NOT NULL, +CREATE TABLE forceforeign ( + artist INTEGER PRIMARY KEY NOT NULL, cd integer NOT NULL ); +-- +-- Table: self_ref_alias +-- +CREATE TABLE self_ref_alias ( + self_ref integer NOT NULL, + alias integer NOT NULL, + PRIMARY KEY (self_ref, alias) +); + +CREATE INDEX self_ref_alias_idx_alias ON self_ref_alias (alias); + +CREATE INDEX self_ref_alias_idx_self_ref ON self_ref_alias (self_ref); -- --- Table: owners +-- Table: track -- -CREATE TABLE owners ( - ownerid INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL +CREATE TABLE track ( + trackid INTEGER PRIMARY KEY NOT NULL, + cd integer NOT NULL, + position int NOT NULL, + title varchar(100) NOT NULL, + last_updated_on datetime, + last_updated_at datetime ); +CREATE INDEX track_idx_cd ON track (cd); + +CREATE UNIQUE INDEX track_cd_position ON track (cd, position); + +CREATE UNIQUE INDEX track_cd_title ON track (cd, title); -- --- Table: producer +-- Table: cd -- -CREATE TABLE producer ( - producerid INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL +CREATE TABLE cd ( + cdid INTEGER PRIMARY KEY NOT NULL, + artist integer NOT NULL, + title varchar(100) NOT NULL, + year varchar(100) NOT NULL, + genreid integer, + single_track integer ); -CREATE UNIQUE INDEX prod_name_producer ON producer (name); +CREATE INDEX cd_idx_artist ON cd (artist); + +CREATE INDEX cd_idx_genreid ON cd (genreid); + +CREATE INDEX cd_idx_single_track ON cd (single_track); + +CREATE UNIQUE INDEX cd_artist_title ON cd (artist, title); -- --- Table: self_ref +-- Table: collection_object -- -CREATE TABLE self_ref ( - id INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL +CREATE TABLE collection_object ( + collection integer NOT NULL, + object integer NOT NULL, + PRIMARY KEY (collection, object) ); +CREATE INDEX collection_object_idx_collection ON collection_object (collection); + +CREATE INDEX collection_object_idx_object ON collection_object (object); -- --- Table: self_ref_alias +-- Table: lyrics -- -CREATE TABLE self_ref_alias ( - self_ref integer NOT NULL, - alias integer NOT NULL, - PRIMARY KEY (self_ref, alias) +CREATE TABLE lyrics ( + lyric_id INTEGER PRIMARY KEY NOT NULL, + track_id integer NOT NULL ); -CREATE INDEX self_ref_alias_idx_alias_self_ ON self_ref_alias (alias); -CREATE INDEX self_ref_alias_idx_self_ref_se ON self_ref_alias (self_ref); +CREATE INDEX lyrics_idx_track_id ON lyrics (track_id); -- --- Table: sequence_test +-- Table: cd_artwork -- -CREATE TABLE sequence_test ( - pkid1 integer NOT NULL, - pkid2 integer NOT NULL, - nonpkid integer NOT NULL, - name varchar(100), - PRIMARY KEY (pkid1, pkid2) +CREATE TABLE cd_artwork ( + cd_id INTEGER PRIMARY KEY NOT NULL ); +-- +-- Table: liner_notes +-- +CREATE TABLE liner_notes ( + liner_id INTEGER PRIMARY KEY NOT NULL, + notes varchar(100) NOT NULL +); -- --- Table: serialized +-- Table: lyric_versions -- -CREATE TABLE serialized ( +CREATE TABLE lyric_versions ( id INTEGER PRIMARY KEY NOT NULL, - serialized text NOT NULL + lyric_id integer NOT NULL, + text varchar(100) NOT NULL ); +CREATE INDEX lyric_versions_idx_lyric_id ON lyric_versions (lyric_id); -- -- Table: tags @@ -360,48 +385,41 @@ CREATE TABLE tags ( tag varchar(100) NOT NULL ); -CREATE INDEX tags_idx_cd_tags ON tags (cd); +CREATE INDEX tags_idx_cd ON tags (cd); --- --- Table: track --- -CREATE TABLE track ( - trackid INTEGER PRIMARY KEY NOT NULL, - cd integer NOT NULL, - position integer NOT NULL, - title varchar(100) NOT NULL, - last_updated_on datetime -); +CREATE UNIQUE INDEX tagid_cd ON tags (tagid, cd); -CREATE INDEX track_idx_cd_track ON track (cd); -CREATE UNIQUE INDEX track_cd_position_track ON track (cd, position); -CREATE UNIQUE INDEX track_cd_title_track ON track (cd, title); +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); -- --- Table: treelike +-- Table: cd_to_producer -- -CREATE TABLE treelike ( - id INTEGER PRIMARY KEY NOT NULL, - parent integer, - name varchar(100) NOT NULL +CREATE TABLE cd_to_producer ( + cd integer NOT NULL, + producer integer NOT NULL, + attribute integer, + PRIMARY KEY (cd, producer) ); -CREATE INDEX treelike_idx_parent_treelike ON treelike (parent); +CREATE INDEX cd_to_producer_idx_cd ON cd_to_producer (cd); + +CREATE INDEX cd_to_producer_idx_producer ON cd_to_producer (producer); -- --- Table: twokeytreelike +-- Table: images -- -CREATE TABLE twokeytreelike ( - id1 integer NOT NULL, - id2 integer NOT NULL, - parent1 integer NOT NULL, - parent2 integer NOT NULL, +CREATE TABLE images ( + id INTEGER PRIMARY KEY NOT NULL, + artwork_id integer NOT NULL, name varchar(100) NOT NULL, - PRIMARY KEY (id1, id2) + data blob ); -CREATE INDEX twokeytreelike_idx_parent1_parent2_twokeytre ON twokeytreelike (parent1, parent2); -CREATE UNIQUE INDEX tktlnameunique_twokeytreelike ON twokeytreelike (name); +CREATE INDEX images_idx_artwork_id ON images (artwork_id); -- -- Table: twokeys @@ -412,23 +430,42 @@ CREATE TABLE twokeys ( PRIMARY KEY (artist, cd) ); -CREATE INDEX twokeys_idx_artist_twokeys ON twokeys (artist); +CREATE INDEX twokeys_idx_artist ON twokeys (artist); -- --- Table: typed_object +-- Table: artwork_to_artist -- -CREATE TABLE typed_object ( - objectid INTEGER PRIMARY KEY NOT NULL, - type varchar(100) NOT NULL, - value varchar(100) NOT NULL +CREATE TABLE artwork_to_artist ( + artwork_cd_id integer NOT NULL, + artist_id integer NOT NULL, + PRIMARY KEY (artwork_cd_id, artist_id) ); +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); + -- --- Table: encoded +-- Table: fourkeys_to_twokeys -- -CREATE TABLE encoded ( - id INTEGER PRIMARY KEY NOT NULL, - encoded varchar(100) NOT NULL +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) ); -COMMIT; +CREATE INDEX fourkeys_to_twokeys_idx_f_foo_f_bar_f_hello_f_goodbye ON fourkeys_to_twokeys (f_foo, f_bar, f_hello, f_goodbye); + +CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd ON fourkeys_to_twokeys (t_artist, t_cd); + +-- +-- View: year2000cds +-- +CREATE VIEW year2000cds AS + SELECT cdid, artist, title, year, genreid, single_track FROM cd WHERE year = "2000";