Correct test-relationship name/type
[dbsrgits/DBIx-Class.git] / t / lib / sqlite.sql
1 -- 
2 -- Created by SQL::Translator::Producer::SQLite
3 -- Created on Sat Jun 11 00:39:51 2011
4 -- 
5
6 --
7 -- Table: artist
8 --
9 CREATE TABLE artist (
10   artistid INTEGER PRIMARY KEY NOT NULL,
11   name varchar(100),
12   rank integer NOT NULL DEFAULT 13,
13   charfield char(10)
14 );
15
16 CREATE INDEX artist_name_hookidx ON artist (name);
17
18 CREATE UNIQUE INDEX artist_name ON artist (name);
19
20 CREATE UNIQUE INDEX u_nullable ON artist (charfield, rank);
21
22 --
23 -- Table: bindtype_test
24 --
25 CREATE TABLE bindtype_test (
26   id INTEGER PRIMARY KEY NOT NULL,
27   bytea blob,
28   blob blob,
29   clob clob,
30   a_memo memo
31 );
32
33 --
34 -- Table: collection
35 --
36 CREATE TABLE collection (
37   collectionid INTEGER PRIMARY KEY NOT NULL,
38   name varchar(100) NOT NULL
39 );
40
41 --
42 -- Table: encoded
43 --
44 CREATE TABLE encoded (
45   id INTEGER PRIMARY KEY NOT NULL,
46   encoded varchar(100)
47 );
48
49 --
50 -- Table: event
51 --
52 CREATE TABLE event (
53   id INTEGER PRIMARY KEY NOT NULL,
54   starts_at date NOT NULL,
55   created_on timestamp NOT NULL,
56   varchar_date varchar(20),
57   varchar_datetime varchar(20),
58   skip_inflation datetime,
59   ts_without_tz datetime
60 );
61
62 --
63 -- Table: fourkeys
64 --
65 CREATE TABLE fourkeys (
66   foo integer NOT NULL,
67   bar integer NOT NULL,
68   hello integer NOT NULL,
69   goodbye integer NOT NULL,
70   sensors character(10) NOT NULL,
71   read_count int,
72   PRIMARY KEY (foo, bar, hello, goodbye)
73 );
74
75 --
76 -- Table: genre
77 --
78 CREATE TABLE genre (
79   genreid INTEGER PRIMARY KEY NOT NULL,
80   name varchar(100) NOT NULL
81 );
82
83 CREATE UNIQUE INDEX genre_name ON genre (name);
84
85 --
86 -- Table: link
87 --
88 CREATE TABLE link (
89   id INTEGER PRIMARY KEY NOT NULL,
90   url varchar(100),
91   title varchar(100)
92 );
93
94 --
95 -- Table: money_test
96 --
97 CREATE TABLE money_test (
98   id INTEGER PRIMARY KEY NOT NULL,
99   amount money
100 );
101
102 --
103 -- Table: noprimarykey
104 --
105 CREATE TABLE noprimarykey (
106   foo integer NOT NULL,
107   bar integer NOT NULL,
108   baz integer NOT NULL
109 );
110
111 CREATE UNIQUE INDEX foo_bar ON noprimarykey (foo, bar);
112
113 --
114 -- Table: onekey
115 --
116 CREATE TABLE onekey (
117   id INTEGER PRIMARY KEY NOT NULL,
118   artist integer NOT NULL,
119   cd integer NOT NULL
120 );
121
122 --
123 -- Table: owners
124 --
125 CREATE TABLE owners (
126   id INTEGER PRIMARY KEY NOT NULL,
127   name varchar(100) NOT NULL
128 );
129
130 --
131 -- Table: producer
132 --
133 CREATE TABLE producer (
134   producerid INTEGER PRIMARY KEY NOT NULL,
135   name varchar(100) NOT NULL
136 );
137
138 CREATE UNIQUE INDEX prod_name ON producer (name);
139
140 --
141 -- Table: self_ref
142 --
143 CREATE TABLE self_ref (
144   id INTEGER PRIMARY KEY NOT NULL,
145   name varchar(100) NOT NULL
146 );
147
148 --
149 -- Table: sequence_test
150 --
151 CREATE TABLE sequence_test (
152   pkid1 integer NOT NULL,
153   pkid2 integer NOT NULL,
154   nonpkid integer NOT NULL,
155   name varchar(100),
156   PRIMARY KEY (pkid1, pkid2)
157 );
158
159 --
160 -- Table: serialized
161 --
162 CREATE TABLE serialized (
163   id INTEGER PRIMARY KEY NOT NULL,
164   serialized text NOT NULL
165 );
166
167 --
168 -- Table: timestamp_primary_key_test
169 --
170 CREATE TABLE timestamp_primary_key_test (
171   id timestamp NOT NULL DEFAULT current_timestamp,
172   PRIMARY KEY (id)
173 );
174
175 --
176 -- Table: treelike
177 --
178 CREATE TABLE treelike (
179   id INTEGER PRIMARY KEY NOT NULL,
180   parent integer,
181   name varchar(100) NOT NULL
182 );
183
184 CREATE INDEX treelike_idx_parent ON treelike (parent);
185
186 --
187 -- Table: twokeytreelike
188 --
189 CREATE TABLE twokeytreelike (
190   id1 integer NOT NULL,
191   id2 integer NOT NULL,
192   parent1 integer NOT NULL,
193   parent2 integer NOT NULL,
194   name varchar(100) NOT NULL,
195   PRIMARY KEY (id1, id2)
196 );
197
198 CREATE INDEX twokeytreelike_idx_parent1_parent2 ON twokeytreelike (parent1, parent2);
199
200 CREATE UNIQUE INDEX tktlnameunique ON twokeytreelike (name);
201
202 --
203 -- Table: typed_object
204 --
205 CREATE TABLE typed_object (
206   objectid INTEGER PRIMARY KEY NOT NULL,
207   type varchar(100) NOT NULL,
208   value varchar(100) NOT NULL
209 );
210
211 --
212 -- Table: artist_undirected_map
213 --
214 CREATE TABLE artist_undirected_map (
215   id1 integer NOT NULL,
216   id2 integer NOT NULL,
217   PRIMARY KEY (id1, id2)
218 );
219
220 CREATE INDEX artist_undirected_map_idx_id1 ON artist_undirected_map (id1);
221
222 CREATE INDEX artist_undirected_map_idx_id2 ON artist_undirected_map (id2);
223
224 --
225 -- Table: bookmark
226 --
227 CREATE TABLE bookmark (
228   id INTEGER PRIMARY KEY NOT NULL,
229   link integer
230 );
231
232 CREATE INDEX bookmark_idx_link ON bookmark (link);
233
234 --
235 -- Table: books
236 --
237 CREATE TABLE books (
238   id INTEGER PRIMARY KEY NOT NULL,
239   source varchar(100) NOT NULL,
240   owner integer NOT NULL,
241   title varchar(100) NOT NULL,
242   price integer
243 );
244
245 CREATE INDEX books_idx_owner ON books (owner);
246
247 CREATE UNIQUE INDEX books_title ON books (title);
248
249 --
250 -- Table: employee
251 --
252 CREATE TABLE employee (
253   employee_id INTEGER PRIMARY KEY NOT NULL,
254   position integer NOT NULL,
255   group_id integer,
256   group_id_2 integer,
257   group_id_3 integer,
258   name varchar(100),
259   encoded integer
260 );
261
262 CREATE INDEX employee_idx_encoded ON employee (encoded);
263
264 --
265 -- Table: forceforeign
266 --
267 CREATE TABLE forceforeign (
268   artist INTEGER PRIMARY KEY NOT NULL,
269   cd integer NOT NULL
270 );
271
272 --
273 -- Table: self_ref_alias
274 --
275 CREATE TABLE self_ref_alias (
276   self_ref integer NOT NULL,
277   alias integer NOT NULL,
278   PRIMARY KEY (self_ref, alias)
279 );
280
281 CREATE INDEX self_ref_alias_idx_alias ON self_ref_alias (alias);
282
283 CREATE INDEX self_ref_alias_idx_self_ref ON self_ref_alias (self_ref);
284
285 --
286 -- Table: track
287 --
288 CREATE TABLE track (
289   trackid INTEGER PRIMARY KEY NOT NULL,
290   cd integer NOT NULL,
291   position int NOT NULL,
292   title varchar(100) NOT NULL,
293   last_updated_on datetime,
294   last_updated_at datetime
295 );
296
297 CREATE INDEX track_idx_cd ON track (cd);
298
299 CREATE UNIQUE INDEX track_cd_position ON track (cd, position);
300
301 CREATE UNIQUE INDEX track_cd_title ON track (cd, title);
302
303 --
304 -- Table: cd
305 --
306 CREATE TABLE cd (
307   cdid INTEGER PRIMARY KEY NOT NULL,
308   artist integer NOT NULL,
309   title varchar(100) NOT NULL,
310   year varchar(100) NOT NULL,
311   genreid integer,
312   single_track integer
313 );
314
315 CREATE INDEX cd_idx_artist ON cd (artist);
316
317 CREATE INDEX cd_idx_genreid ON cd (genreid);
318
319 CREATE INDEX cd_idx_single_track ON cd (single_track);
320
321 CREATE UNIQUE INDEX cd_artist_title ON cd (artist, title);
322
323 --
324 -- Table: collection_object
325 --
326 CREATE TABLE collection_object (
327   collection integer NOT NULL,
328   object integer NOT NULL,
329   PRIMARY KEY (collection, object)
330 );
331
332 CREATE INDEX collection_object_idx_collection ON collection_object (collection);
333
334 CREATE INDEX collection_object_idx_object ON collection_object (object);
335
336 --
337 -- Table: lyrics
338 --
339 CREATE TABLE lyrics (
340   lyric_id INTEGER PRIMARY KEY NOT NULL,
341   track_id integer NOT NULL
342 );
343
344 CREATE INDEX lyrics_idx_track_id ON lyrics (track_id);
345
346 --
347 -- Table: cd_artwork
348 --
349 CREATE TABLE cd_artwork (
350   cd_id INTEGER PRIMARY KEY NOT NULL
351 );
352
353 --
354 -- Table: liner_notes
355 --
356 CREATE TABLE liner_notes (
357   liner_id INTEGER PRIMARY KEY NOT NULL,
358   notes varchar(100) NOT NULL
359 );
360
361 --
362 -- Table: lyric_versions
363 --
364 CREATE TABLE lyric_versions (
365   id INTEGER PRIMARY KEY NOT NULL,
366   lyric_id integer NOT NULL,
367   text varchar(100) NOT NULL
368 );
369
370 CREATE INDEX lyric_versions_idx_lyric_id ON lyric_versions (lyric_id);
371
372 --
373 -- Table: tags
374 --
375 CREATE TABLE tags (
376   tagid INTEGER PRIMARY KEY NOT NULL,
377   cd integer NOT NULL,
378   tag varchar(100) NOT NULL
379 );
380
381 CREATE INDEX tags_idx_cd ON tags (cd);
382
383 CREATE UNIQUE INDEX tagid_cd ON tags (tagid, cd);
384
385 CREATE UNIQUE INDEX tagid_cd_tag ON tags (tagid, cd, tag);
386
387 CREATE UNIQUE INDEX tags_tagid_tag ON tags (tagid, tag);
388
389 CREATE UNIQUE INDEX tags_tagid_tag_cd ON tags (tagid, tag, cd);
390
391 --
392 -- Table: cd_to_producer
393 --
394 CREATE TABLE cd_to_producer (
395   cd integer NOT NULL,
396   producer integer NOT NULL,
397   attribute integer,
398   PRIMARY KEY (cd, producer)
399 );
400
401 CREATE INDEX cd_to_producer_idx_cd ON cd_to_producer (cd);
402
403 CREATE INDEX cd_to_producer_idx_producer ON cd_to_producer (producer);
404
405 --
406 -- Table: images
407 --
408 CREATE TABLE images (
409   id INTEGER PRIMARY KEY NOT NULL,
410   artwork_id integer NOT NULL,
411   name varchar(100) NOT NULL,
412   data blob
413 );
414
415 CREATE INDEX images_idx_artwork_id ON images (artwork_id);
416
417 --
418 -- Table: twokeys
419 --
420 CREATE TABLE twokeys (
421   artist integer NOT NULL,
422   cd integer NOT NULL,
423   PRIMARY KEY (artist, cd)
424 );
425
426 CREATE INDEX twokeys_idx_artist ON twokeys (artist);
427
428 --
429 -- Table: artwork_to_artist
430 --
431 CREATE TABLE artwork_to_artist (
432   artwork_cd_id integer NOT NULL,
433   artist_id integer NOT NULL,
434   PRIMARY KEY (artwork_cd_id, artist_id)
435 );
436
437 CREATE INDEX artwork_to_artist_idx_artist_id ON artwork_to_artist (artist_id);
438
439 CREATE INDEX artwork_to_artist_idx_artwork_cd_id ON artwork_to_artist (artwork_cd_id);
440
441 --
442 -- Table: fourkeys_to_twokeys
443 --
444 CREATE TABLE fourkeys_to_twokeys (
445   f_foo integer NOT NULL,
446   f_bar integer NOT NULL,
447   f_hello integer NOT NULL,
448   f_goodbye integer NOT NULL,
449   t_artist integer NOT NULL,
450   t_cd integer NOT NULL,
451   autopilot character NOT NULL,
452   pilot_sequence integer,
453   PRIMARY KEY (f_foo, f_bar, f_hello, f_goodbye, t_artist, t_cd)
454 );
455
456 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);
457
458 CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd ON fourkeys_to_twokeys (t_artist, t_cd);
459
460 --
461 -- View: year2000cds
462 --
463 CREATE VIEW year2000cds AS
464     SELECT cdid, artist, title, year, genreid, single_track FROM cd WHERE year = "2000";