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