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