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