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