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