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