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