From: Peter Rabbitson Date: Thu, 9 Oct 2008 11:19:28 +0000 (+0000) Subject: Regenerate (finally\!) t/lib/sqlite.sql X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ebf846e8113e65d2c3b2cddb7667b15a15a79813;p=dbsrgits%2FDBIx-Class-Historic.git Regenerate (finally\!) t/lib/sqlite.sql Fix maint/gen-schema to work correctly with newer SQL::Translators --- diff --git a/maint/gen-schema.pl b/maint/gen-schema.pl index ffd2df7..6244702 100755 --- a/maint/gen-schema.pl +++ b/maint/gen-schema.pl @@ -5,7 +5,15 @@ use warnings; use lib qw(lib t/lib); use DBICTest::Schema; +use SQL::Translator; -my $schema = DBICTest::Schema->connect; +my $sql_join_str = ''; +if (SQL::Translator->VERSION >= 0.09001) { + $sql_join_str .= ";"; +} +if (SQL::Translator->VERSION >= 0.09) { + $sql_join_str .= "\n"; +} -print $schema->storage->deployment_statements($schema, 'SQLite'); +my $schema = DBICTest::Schema->connect; +print join ($sql_join_str,$schema->storage->deployment_statements($schema, 'SQLite') ); diff --git a/t/lib/DBICTest.pm b/t/lib/DBICTest.pm index 2208378..a75f485 100755 --- a/t/lib/DBICTest.pm +++ b/t/lib/DBICTest.pm @@ -132,7 +132,11 @@ sub deploy_schema { my $sql; { local $/ = undef; $sql = ; } close IN; - ($schema->storage->dbh->do($_) || print "Error on SQL: $_\n") for split(/;\n/, $sql); + for my $chunk ( split (/;\s*\n+/, $sql) ) { + if ( $chunk =~ / ^ (?! --\s* ) \S /xm ) { # there is some real sql in the chunk - a non-space at the start of the string which is not a comment + $schema->storage->dbh->do($chunk) or print "Error on SQL: $chunk\n"; + } + } } return; } diff --git a/t/lib/sqlite.sql b/t/lib/sqlite.sql index b3cef53..e09d0ea 100644 --- a/t/lib/sqlite.sql +++ b/t/lib/sqlite.sql @@ -1,44 +1,9 @@ -- -- Created by SQL::Translator::Producer::SQLite --- Created on Tue Aug 8 01:53:20 2006 +-- Created on Thu Oct 9 13:12:46 2008 -- BEGIN TRANSACTION; --- --- Table: employee --- -CREATE TABLE employee ( - employee_id INTEGER PRIMARY KEY NOT NULL, - position integer NOT NULL, - group_id integer, - group_id_2 integer, - name varchar(100) -); - --- --- Table: serialized --- -CREATE TABLE serialized ( - id INTEGER PRIMARY KEY NOT NULL, - serialized text NOT NULL -); - --- --- Table: liner_notes --- -CREATE TABLE liner_notes ( - liner_id INTEGER PRIMARY KEY NOT NULL, - notes varchar(100) NOT NULL -); - --- --- Table: cd_to_producer --- -CREATE TABLE cd_to_producer ( - cd integer NOT NULL, - producer integer NOT NULL, - PRIMARY KEY (cd, producer) -); -- -- Table: artist @@ -48,41 +13,40 @@ CREATE TABLE artist ( name varchar(100) ); + -- --- Table: twokeytreelike +-- Table: artist_undirected_map -- -CREATE TABLE twokeytreelike ( +CREATE TABLE artist_undirected_map ( id1 integer NOT NULL, id2 integer NOT NULL, - parent1 integer NOT NULL, - parent2 integer NOT NULL, - name varchar(100) 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: fourkeys_to_twokeys +-- Table: bookmark -- -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 bookmark ( + id INTEGER PRIMARY KEY NOT NULL, + link integer NOT NULL ); +CREATE INDEX bookmark_idx_link_bookmark ON bookmark (link); + -- --- Table: self_ref_alias +-- Table: books -- -CREATE TABLE self_ref_alias ( - self_ref integer NOT NULL, - alias integer NOT NULL, - PRIMARY KEY (self_ref, alias) +CREATE TABLE books ( + id INTEGER PRIMARY KEY NOT NULL, + source varchar(100) NOT NULL, + owner integer NOT NULL, + title varchar(100) NOT NULL ); + -- -- Table: cd -- @@ -94,94 +58,143 @@ CREATE TABLE cd ( genreid integer ); +CREATE INDEX cd_idx_artist_cd ON cd (artist); +CREATE INDEX cd_idx_genreid_cd ON cd (genreid); +CREATE UNIQUE INDEX cd_artist_title_cd ON cd (artist, title); + -- --- Table: genre +-- Table: cd_to_producer -- -CREATE TABLE genre ( - genreid INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL +CREATE TABLE cd_to_producer ( + cd integer NOT NULL, + producer integer NOT NULL, + PRIMARY KEY (cd, producer) ); +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: bookmark +-- Table: collection -- -CREATE TABLE bookmark ( - id INTEGER PRIMARY KEY NOT NULL, - link integer NOT NULL +CREATE TABLE collection ( + collectionid INTEGER PRIMARY KEY NOT NULL, + name varchar(100) NOT NULL ); + -- --- Table: track +-- Table: collection_object -- -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 NULL +CREATE TABLE collection_object ( + collection integer NOT NULL, + object integer NOT NULL, + PRIMARY KEY (collection, object) ); +CREATE INDEX collection_object_idx_collection_collection_obj ON collection_object (collection); +CREATE INDEX collection_object_idx_object_c ON collection_object (object); + -- --- Table: self_ref +-- Table: employee -- -CREATE TABLE self_ref ( - id INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL +CREATE TABLE employee ( + employee_id INTEGER PRIMARY KEY NOT NULL, + position integer NOT NULL, + group_id integer, + group_id_2 integer, + name varchar(100) ); + -- --- Table: link +-- Table: event -- -CREATE TABLE link ( +CREATE TABLE event ( id INTEGER PRIMARY KEY NOT NULL, - url varchar(100), - title varchar(100) + starts_at datetime NOT NULL, + created_on timestamp NOT NULL ); + -- -- Table: file_columns -- CREATE TABLE file_columns ( id INTEGER PRIMARY KEY NOT NULL, - file varchar(255) + file varchar(255) NOT NULL ); + -- --- Table: tags +-- Table: forceforeign -- -CREATE TABLE tags ( - tagid INTEGER PRIMARY KEY NOT NULL, - cd integer NOT NULL, - tag varchar(100) NOT NULL +CREATE TABLE forceforeign ( + artist INTEGER PRIMARY KEY NOT NULL, + cd integer NOT NULL ); +CREATE INDEX forceforeign_idx_artist_forcef ON forceforeign (artist); + -- --- Table: treelike +-- Table: fourkeys -- -CREATE TABLE treelike ( - id INTEGER PRIMARY KEY NOT NULL, - parent integer NULL, - name varchar(100) NOT NULL +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) ); + -- --- Table: event +-- Table: fourkeys_to_twokeys -- -CREATE TABLE event ( - id INTEGER PRIMARY KEY NOT NULL, - starts_at datetime NOT NULL, - created_on timestamp 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, + PRIMARY KEY (f_foo, f_bar, f_hello, f_goodbye, t_artist, t_cd) ); +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: twokeys +-- Table: genre -- -CREATE TABLE twokeys ( - artist integer NOT NULL, - cd integer NOT NULL, - PRIMARY KEY (artist, cd) +CREATE TABLE genre ( + genreid NOT NULL, + name NOT NULL, + PRIMARY KEY (genreid) ); + +-- +-- Table: liner_notes +-- +CREATE TABLE liner_notes ( + liner_id INTEGER PRIMARY KEY NOT NULL, + notes varchar(100) NOT NULL +); + + +-- +-- Table: link +-- +CREATE TABLE link ( + id INTEGER PRIMARY KEY NOT NULL, + url varchar(100), + title varchar(100) +); + + -- -- Table: noprimarykey -- @@ -191,27 +204,27 @@ CREATE TABLE noprimarykey ( baz integer NOT NULL ); +CREATE UNIQUE INDEX foo_bar_noprimarykey ON noprimarykey (foo, bar); + -- --- Table: fourkeys +-- Table: onekey -- -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 onekey ( + id INTEGER PRIMARY KEY NOT NULL, + artist integer NOT NULL, + cd integer NOT NULL ); + -- --- Table: artist_undirected_map +-- Table: owners -- -CREATE TABLE artist_undirected_map ( - id1 integer NOT NULL, - id2 integer NOT NULL, - PRIMARY KEY (id1, id2) +CREATE TABLE owners ( + ownerid INTEGER PRIMARY KEY NOT NULL, + name varchar(100) NOT NULL ); + -- -- Table: producer -- @@ -220,63 +233,121 @@ CREATE TABLE producer ( name varchar(100) NOT NULL ); +CREATE UNIQUE INDEX prod_name_producer ON producer (name); + -- --- Table: onekey +-- Table: self_ref -- -CREATE TABLE onekey ( +CREATE TABLE self_ref ( id INTEGER PRIMARY KEY NOT NULL, - artist integer NOT NULL, - cd integer NOT NULL + name varchar(100) NOT NULL ); + -- --- Table: typed_object +-- Table: self_ref_alias -- -CREATE TABLE typed_object ( - objectid INTEGER PRIMARY KEY NOT NULL, - type VARCHAR(100) NOT NULL, - value VARCHAR(100) +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_self_ ON self_ref_alias (alias); +CREATE INDEX self_ref_alias_idx_self_ref_se ON self_ref_alias (self_ref); + -- --- Table: collection +-- Table: sequence_test -- -CREATE TABLE collection ( - collectionid INTEGER PRIMARY KEY NOT NULL, - name VARCHAR(100) +CREATE TABLE sequence_test ( + pkid1 integer NOT NULL, + pkid2 integer NOT NULL, + nonpkid integer NOT NULL, + name varchar(100), + PRIMARY KEY (pkid1, pkid2) ); + -- --- Table: collection_object +-- Table: serialized -- -CREATE TABLE collection_object ( - collection INTEGER NOT NULL, - object INTEGER NOT NULL +CREATE TABLE serialized ( + id INTEGER PRIMARY KEY NOT NULL, + serialized text NOT NULL ); + -- --- Table: owners +-- Table: tags -- -CREATE TABLE owners ( - ownerid INTEGER PRIMARY KEY NOT NULL, - name varchar(100) +CREATE TABLE tags ( + tagid INTEGER PRIMARY KEY NOT NULL, + cd integer NOT NULL, + tag varchar(100) NOT NULL ); +CREATE INDEX tags_idx_cd_tags ON tags (cd); + -- --- Table: books +-- Table: track -- -CREATE TABLE books ( +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 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); + +-- +-- Table: treelike +-- +CREATE TABLE treelike ( id INTEGER PRIMARY KEY NOT NULL, - owner INTEGER, - source varchar(100), - title varchar(100) + parent integer, + name varchar(100) NOT NULL +); + +CREATE INDEX treelike_idx_parent_treelike ON treelike (parent); + +-- +-- Table: twokeytreelike +-- +CREATE TABLE twokeytreelike ( + id1 integer NOT NULL, + id2 integer NOT NULL, + parent1 integer NOT NULL, + parent2 integer NOT NULL, + name varchar(100) NOT NULL, + PRIMARY KEY (id1, id2) +); + +CREATE INDEX twokeytreelike_idx_parent1_parent2_twokeytre ON twokeytreelike (parent1, parent2); +CREATE UNIQUE INDEX tktlnameunique_twokeytreelike ON twokeytreelike (name); + +-- +-- Table: twokeys +-- +CREATE TABLE twokeys ( + artist integer NOT NULL, + cd integer NOT NULL, + PRIMARY KEY (artist, cd) +); + +CREATE INDEX twokeys_idx_artist_twokeys ON twokeys (artist); + +-- +-- Table: typed_object +-- +CREATE TABLE typed_object ( + objectid INTEGER PRIMARY KEY NOT NULL, + type varchar(100) NOT NULL, + value varchar(100) NOT NULL ); -CREATE UNIQUE INDEX tktlnameunique_twokeytreelike on twokeytreelike (name); -CREATE UNIQUE INDEX cd_artist_title_cd on cd (artist, title); -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 foo_bar_noprimarykey on noprimarykey (foo, bar); -CREATE UNIQUE INDEX prod_name_producer on producer (name); COMMIT;