Bump author SQLT dependency for early developer testing
[dbsrgits/DBIx-Class.git] / t / lib / sqlite.sql
1 -- 
2 -- Created by SQL::Translator::Producer::SQLite
3 -- Created on Sat Jun 27 14:02:39 2009
4 -- 
5
6
7 BEGIN TRANSACTION;
8
9 --
10 -- Table: artist
11 --
12 CREATE TABLE artist (
13   artistid INTEGER PRIMARY KEY NOT NULL,
14   name varchar(100),
15   rank integer NOT NULL DEFAULT '13',
16   charfield char(10)
17 );
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: collection
31 --
32 CREATE TABLE collection (
33   collectionid INTEGER PRIMARY KEY NOT NULL,
34   name varchar(100) NOT NULL
35 );
36
37 --
38 -- Table: employee
39 --
40 CREATE TABLE employee (
41   employee_id INTEGER PRIMARY KEY NOT NULL,
42   position integer NOT NULL,
43   group_id integer,
44   group_id_2 integer,
45   group_id_3 integer,
46   name varchar(100)
47 );
48
49 --
50 -- Table: encoded
51 --
52 CREATE TABLE encoded (
53   id INTEGER PRIMARY KEY NOT NULL,
54   encoded varchar(100)
55 );
56
57 --
58 -- Table: event
59 --
60 CREATE TABLE event (
61   id INTEGER PRIMARY KEY NOT NULL,
62   starts_at datetime NOT NULL,
63   created_on timestamp NOT NULL,
64   varchar_date varchar(20),
65   varchar_datetime varchar(20),
66   skip_inflation 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: 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: treelike
176 --
177 CREATE TABLE treelike (
178   id INTEGER PRIMARY KEY NOT NULL,
179   parent integer,
180   name varchar(100) NOT NULL
181 );
182
183 CREATE INDEX treelike_idx_parent ON treelike (parent);
184
185 --
186 -- Table: twokeytreelike
187 --
188 CREATE TABLE twokeytreelike (
189   id1 integer NOT NULL,
190   id2 integer NOT NULL,
191   parent1 integer NOT NULL,
192   parent2 integer NOT NULL,
193   name varchar(100) NOT NULL,
194   PRIMARY KEY (id1, id2)
195 );
196
197 CREATE INDEX twokeytreelike_idx_parent1_parent2 ON twokeytreelike (parent1, parent2);
198
199 CREATE UNIQUE INDEX tktlnameunique ON twokeytreelike (name);
200
201 --
202 -- Table: typed_object
203 --
204 CREATE TABLE typed_object (
205   objectid INTEGER PRIMARY KEY NOT NULL,
206   type varchar(100) NOT NULL,
207   value varchar(100) NOT NULL
208 );
209
210 --
211 -- Table: artist_undirected_map
212 --
213 CREATE TABLE artist_undirected_map (
214   id1 integer NOT NULL,
215   id2 integer NOT NULL,
216   PRIMARY KEY (id1, id2)
217 );
218
219 CREATE INDEX artist_undirected_map_idx_id1 ON artist_undirected_map (id1);
220
221 CREATE INDEX artist_undirected_map_idx_id2 ON artist_undirected_map (id2);
222
223 --
224 -- Table: bookmark
225 --
226 CREATE TABLE bookmark (
227   id INTEGER PRIMARY KEY NOT NULL,
228   link integer NOT NULL
229 );
230
231 CREATE INDEX bookmark_idx_link ON bookmark (link);
232
233 --
234 -- Table: books
235 --
236 CREATE TABLE books (
237   id INTEGER PRIMARY KEY NOT NULL,
238   source varchar(100) NOT NULL,
239   owner integer NOT NULL,
240   title varchar(100) NOT NULL,
241   price integer
242 );
243
244 CREATE INDEX books_idx_owner ON books (owner);
245
246 --
247 -- Table: forceforeign
248 --
249 CREATE TABLE forceforeign (
250   artist INTEGER PRIMARY KEY NOT NULL,
251   cd integer NOT NULL
252 );
253
254 CREATE INDEX forceforeign_idx_artist ON forceforeign (artist);
255
256 --
257 -- Table: self_ref_alias
258 --
259 CREATE TABLE self_ref_alias (
260   self_ref integer NOT NULL,
261   alias integer NOT NULL,
262   PRIMARY KEY (self_ref, alias)
263 );
264
265 CREATE INDEX self_ref_alias_idx_alias ON self_ref_alias (alias);
266
267 CREATE INDEX self_ref_alias_idx_self_ref ON self_ref_alias (self_ref);
268
269 --
270 -- Table: track
271 --
272 CREATE TABLE track (
273   trackid INTEGER PRIMARY KEY NOT NULL,
274   cd integer NOT NULL,
275   position integer NOT NULL,
276   title varchar(100) NOT NULL,
277   last_updated_on datetime,
278   last_updated_at datetime
279 );
280
281 CREATE INDEX track_idx_cd ON track (cd);
282
283 CREATE UNIQUE INDEX track_cd_position ON track (cd, position);
284
285 CREATE UNIQUE INDEX track_cd_title ON track (cd, title);
286
287 --
288 -- Table: cd
289 --
290 CREATE TABLE cd (
291   cdid INTEGER PRIMARY KEY NOT NULL,
292   artist integer NOT NULL,
293   title varchar(100) NOT NULL,
294   year varchar(100) NOT NULL,
295   genreid integer,
296   single_track integer
297 );
298
299 CREATE INDEX cd_idx_artist ON cd (artist);
300
301 CREATE INDEX cd_idx_genreid ON cd (genreid);
302
303 CREATE INDEX cd_idx_single_track ON cd (single_track);
304
305 CREATE UNIQUE INDEX cd_artist_title ON cd (artist, title);
306
307 --
308 -- Table: collection_object
309 --
310 CREATE TABLE collection_object (
311   collection integer NOT NULL,
312   object integer NOT NULL,
313   PRIMARY KEY (collection, object)
314 );
315
316 CREATE INDEX collection_object_idx_collection ON collection_object (collection);
317
318 CREATE INDEX collection_object_idx_object ON collection_object (object);
319
320 --
321 -- Table: lyrics
322 --
323 CREATE TABLE lyrics (
324   lyric_id INTEGER PRIMARY KEY NOT NULL,
325   track_id integer NOT NULL
326 );
327
328 CREATE INDEX lyrics_idx_track_id ON lyrics (track_id);
329
330 --
331 -- Table: cd_artwork
332 --
333 CREATE TABLE cd_artwork (
334   cd_id INTEGER PRIMARY KEY NOT NULL
335 );
336
337 CREATE INDEX cd_artwork_idx_cd_id ON cd_artwork (cd_id);
338
339 --
340 -- Table: liner_notes
341 --
342 CREATE TABLE liner_notes (
343   liner_id INTEGER PRIMARY KEY NOT NULL,
344   notes varchar(100) NOT NULL
345 );
346
347 CREATE INDEX liner_notes_idx_liner_id ON liner_notes (liner_id);
348
349 --
350 -- Table: lyric_versions
351 --
352 CREATE TABLE lyric_versions (
353   id INTEGER PRIMARY KEY NOT NULL,
354   lyric_id integer NOT NULL,
355   text varchar(100) NOT NULL
356 );
357
358 CREATE INDEX lyric_versions_idx_lyric_id ON lyric_versions (lyric_id);
359
360 --
361 -- Table: tags
362 --
363 CREATE TABLE tags (
364   tagid INTEGER PRIMARY KEY NOT NULL,
365   cd integer NOT NULL,
366   tag varchar(100) NOT NULL
367 );
368
369 CREATE INDEX tags_idx_cd ON tags (cd);
370
371 --
372 -- Table: cd_to_producer
373 --
374 CREATE TABLE cd_to_producer (
375   cd integer NOT NULL,
376   producer integer NOT NULL,
377   attribute integer,
378   PRIMARY KEY (cd, producer)
379 );
380
381 CREATE INDEX cd_to_producer_idx_cd ON cd_to_producer (cd);
382
383 CREATE INDEX cd_to_producer_idx_producer ON cd_to_producer (producer);
384
385 --
386 -- Table: images
387 --
388 CREATE TABLE images (
389   id INTEGER PRIMARY KEY NOT NULL,
390   artwork_id integer NOT NULL,
391   name varchar(100) NOT NULL,
392   data blob
393 );
394
395 CREATE INDEX images_idx_artwork_id ON images (artwork_id);
396
397 --
398 -- Table: twokeys
399 --
400 CREATE TABLE twokeys (
401   artist integer NOT NULL,
402   cd integer NOT NULL,
403   PRIMARY KEY (artist, cd)
404 );
405
406 CREATE INDEX twokeys_idx_artist ON twokeys (artist);
407
408 --
409 -- Table: artwork_to_artist
410 --
411 CREATE TABLE artwork_to_artist (
412   artwork_cd_id integer NOT NULL,
413   artist_id integer NOT NULL,
414   PRIMARY KEY (artwork_cd_id, artist_id)
415 );
416
417 CREATE INDEX artwork_to_artist_idx_artist_id ON artwork_to_artist (artist_id);
418
419 CREATE INDEX artwork_to_artist_idx_artwork_cd_id ON artwork_to_artist (artwork_cd_id);
420
421 --
422 -- Table: fourkeys_to_twokeys
423 --
424 CREATE TABLE fourkeys_to_twokeys (
425   f_foo integer NOT NULL,
426   f_bar integer NOT NULL,
427   f_hello integer NOT NULL,
428   f_goodbye integer NOT NULL,
429   t_artist integer NOT NULL,
430   t_cd integer NOT NULL,
431   autopilot character NOT NULL,
432   pilot_sequence integer,
433   PRIMARY KEY (f_foo, f_bar, f_hello, f_goodbye, t_artist, t_cd)
434 );
435
436 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);
437
438 CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd ON fourkeys_to_twokeys (t_artist, t_cd);
439
440 --
441 -- View: year2000cds
442 --
443 CREATE VIEW year2000cds AS
444     SELECT cdid, artist, title FROM cd WHERE year ='2000';
445
446 COMMIT;