Merge 'trunk' into 'oracle-tweaks'
[dbsrgits/DBIx-Class.git] / t / lib / sqlite.sql
1 -- 
2 -- Created by SQL::Translator::Producer::SQLite
3 -- Created on Thu Apr 30 10:04:57 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   attribute integer,
112   PRIMARY KEY (cd, producer)
113 );
114
115 CREATE INDEX cd_to_producer_idx_cd_cd_to_pr ON cd_to_producer (cd);
116
117 CREATE INDEX cd_to_producer_idx_producer_cd ON cd_to_producer (producer);
118
119 --
120 -- Table: collection
121 --
122 CREATE TABLE collection (
123   collectionid INTEGER PRIMARY KEY NOT NULL,
124   name varchar(100) NOT NULL
125 );
126
127 --
128 -- Table: collection_object
129 --
130 CREATE TABLE collection_object (
131   collection integer NOT NULL,
132   object integer NOT NULL,
133   PRIMARY KEY (collection, object)
134 );
135
136 CREATE INDEX collection_object_idx_collection_collection_obj ON collection_object (collection);
137
138 CREATE INDEX collection_object_idx_object_c ON collection_object (object);
139
140 --
141 -- Table: employee
142 --
143 CREATE TABLE employee (
144   employee_id INTEGER PRIMARY KEY NOT NULL,
145   position integer NOT NULL,
146   group_id integer,
147   group_id_2 integer,
148   group_id_3 integer,
149   name varchar(100)
150 );
151
152 --
153 -- Table: encoded
154 --
155 CREATE TABLE encoded (
156   id INTEGER PRIMARY KEY NOT NULL,
157   encoded varchar(100)
158 );
159
160 --
161 -- Table: event
162 --
163 CREATE TABLE event (
164   id INTEGER PRIMARY KEY NOT NULL,
165   starts_at datetime NOT NULL,
166   created_on timestamp NOT NULL,
167   varchar_date varchar(20),
168   varchar_datetime varchar(20),
169   skip_inflation datetime
170 );
171
172 --
173 -- Table: file_columns
174 --
175 CREATE TABLE file_columns (
176   id INTEGER PRIMARY KEY NOT NULL,
177   file varchar(255) NOT NULL
178 );
179
180 --
181 -- Table: forceforeign
182 --
183 CREATE TABLE forceforeign (
184   artist INTEGER PRIMARY KEY NOT NULL,
185   cd integer NOT NULL
186 );
187
188 CREATE INDEX forceforeign_idx_artist_forcef ON forceforeign (artist);
189
190 --
191 -- Table: fourkeys
192 --
193 CREATE TABLE fourkeys (
194   foo integer NOT NULL,
195   bar integer NOT NULL,
196   hello integer NOT NULL,
197   goodbye integer NOT NULL,
198   sensors character NOT NULL,
199   PRIMARY KEY (foo, bar, hello, goodbye)
200 );
201
202 --
203 -- Table: fourkeys_to_twokeys
204 --
205 CREATE TABLE fourkeys_to_twokeys (
206   f_foo integer NOT NULL,
207   f_bar integer NOT NULL,
208   f_hello integer NOT NULL,
209   f_goodbye integer NOT NULL,
210   t_artist integer NOT NULL,
211   t_cd integer NOT NULL,
212   autopilot character NOT NULL,
213   PRIMARY KEY (f_foo, f_bar, f_hello, f_goodbye, t_artist, t_cd)
214 );
215
216 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);
217
218 CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd_fourkeys_to ON fourkeys_to_twokeys (t_artist, t_cd);
219
220 --
221 -- Table: genre
222 --
223 CREATE TABLE genre (
224   genreid INTEGER PRIMARY KEY NOT NULL,
225   name varchar(100) NOT NULL
226 );
227
228 CREATE UNIQUE INDEX genre_name_genre ON genre (name);
229
230 --
231 -- Table: images
232 --
233 CREATE TABLE images (
234   id INTEGER PRIMARY KEY NOT NULL,
235   artwork_id integer NOT NULL,
236   name varchar(100) NOT NULL,
237   data blob
238 );
239
240 CREATE INDEX images_idx_artwork_id_images ON images (artwork_id);
241
242 --
243 -- Table: liner_notes
244 --
245 CREATE TABLE liner_notes (
246   liner_id INTEGER PRIMARY KEY NOT NULL,
247   notes varchar(100) NOT NULL
248 );
249
250 CREATE INDEX liner_notes_idx_liner_id_liner ON liner_notes (liner_id);
251
252 --
253 -- Table: link
254 --
255 CREATE TABLE link (
256   id INTEGER PRIMARY KEY NOT NULL,
257   url varchar(100),
258   title varchar(100)
259 );
260
261 --
262 -- Table: lyric_versions
263 --
264 CREATE TABLE lyric_versions (
265   id INTEGER PRIMARY KEY NOT NULL,
266   lyric_id integer NOT NULL,
267   text varchar(100) NOT NULL
268 );
269
270 CREATE INDEX lyric_versions_idx_lyric_id_ly ON lyric_versions (lyric_id);
271
272 --
273 -- Table: lyrics
274 --
275 CREATE TABLE lyrics (
276   lyric_id INTEGER PRIMARY KEY NOT NULL,
277   track_id integer NOT NULL
278 );
279
280 CREATE INDEX lyrics_idx_track_id_lyrics ON lyrics (track_id);
281
282 --
283 -- Table: noprimarykey
284 --
285 CREATE TABLE noprimarykey (
286   foo integer NOT NULL,
287   bar integer NOT NULL,
288   baz integer NOT NULL
289 );
290
291 CREATE UNIQUE INDEX foo_bar_noprimarykey ON noprimarykey (foo, bar);
292
293 --
294 -- Table: onekey
295 --
296 CREATE TABLE onekey (
297   id INTEGER PRIMARY KEY NOT NULL,
298   artist integer NOT NULL,
299   cd integer NOT NULL
300 );
301
302 --
303 -- Table: owners
304 --
305 CREATE TABLE owners (
306   ownerid INTEGER PRIMARY KEY NOT NULL,
307   name varchar(100) NOT NULL
308 );
309
310 --
311 -- Table: producer
312 --
313 CREATE TABLE producer (
314   producerid INTEGER PRIMARY KEY NOT NULL,
315   name varchar(100) NOT NULL
316 );
317
318 CREATE UNIQUE INDEX prod_name_producer ON producer (name);
319
320 --
321 -- Table: self_ref
322 --
323 CREATE TABLE self_ref (
324   id INTEGER PRIMARY KEY NOT NULL,
325   name varchar(100) NOT NULL
326 );
327
328 --
329 -- Table: self_ref_alias
330 --
331 CREATE TABLE self_ref_alias (
332   self_ref integer NOT NULL,
333   alias integer NOT NULL,
334   PRIMARY KEY (self_ref, alias)
335 );
336
337 CREATE INDEX self_ref_alias_idx_alias_self_ ON self_ref_alias (alias);
338
339 CREATE INDEX self_ref_alias_idx_self_ref_se ON self_ref_alias (self_ref);
340
341 --
342 -- Table: sequence_test
343 --
344 CREATE TABLE sequence_test (
345   pkid1 integer NOT NULL,
346   pkid2 integer NOT NULL,
347   nonpkid integer NOT NULL,
348   name varchar(100),
349   PRIMARY KEY (pkid1, pkid2)
350 );
351
352 --
353 -- Table: serialized
354 --
355 CREATE TABLE serialized (
356   id INTEGER PRIMARY KEY NOT NULL,
357   serialized text NOT NULL
358 );
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_tags ON tags (cd);
370
371 --
372 -- Table: track
373 --
374 CREATE TABLE track (
375   trackid INTEGER PRIMARY KEY NOT NULL,
376   cd integer NOT NULL,
377   position integer NOT NULL,
378   title varchar(100) NOT NULL,
379   last_updated_on datetime,
380   last_updated_at datetime
381 );
382
383 CREATE INDEX track_idx_cd_track ON track (cd);
384
385 CREATE UNIQUE INDEX track_cd_position_track ON track (cd, position);
386
387 CREATE UNIQUE INDEX track_cd_title_track ON track (cd, title);
388
389 --
390 -- Table: treelike
391 --
392 CREATE TABLE treelike (
393   id INTEGER PRIMARY KEY NOT NULL,
394   parent integer,
395   name varchar(100) NOT NULL
396 );
397
398 CREATE INDEX treelike_idx_parent_treelike ON treelike (parent);
399
400 --
401 -- Table: twokeytreelike
402 --
403 CREATE TABLE twokeytreelike (
404   id1 integer NOT NULL,
405   id2 integer NOT NULL,
406   parent1 integer NOT NULL,
407   parent2 integer NOT NULL,
408   name varchar(100) NOT NULL,
409   PRIMARY KEY (id1, id2)
410 );
411
412 CREATE INDEX twokeytreelike_idx_parent1_parent2_twokeytre ON twokeytreelike (parent1, parent2);
413
414 CREATE UNIQUE INDEX tktlnameunique_twokeytreelike ON twokeytreelike (name);
415
416 --
417 -- Table: twokeys
418 --
419 CREATE TABLE twokeys (
420   artist integer NOT NULL,
421   cd integer NOT NULL,
422   PRIMARY KEY (artist, cd)
423 );
424
425 CREATE INDEX twokeys_idx_artist_twokeys ON twokeys (artist);
426
427 --
428 -- Table: typed_object
429 --
430 CREATE TABLE typed_object (
431   objectid INTEGER PRIMARY KEY NOT NULL,
432   type varchar(100) NOT NULL,
433   value varchar(100) NOT NULL
434 );
435
436 --
437 -- View: year2000cds
438 --
439 CREATE VIEW year2000cds AS
440     SELECT cdid, artist, title FROM cd WHERE year ='2000';
441
442 COMMIT;