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