Test for already fixed RT#59219
[dbsrgits/DBIx-Class.git] / t / lib / sqlite.sql
1 -- 
2 -- Created by SQL::Translator::Producer::SQLite
3 -- Created on Sun Oct 17 01:51:06 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   small_dt smalldatetime
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";