Regenerate test DDL
[dbsrgits/DBIx-Class.git] / t / lib / sqlite.sql
1 -- 
2 -- Created by SQL::Translator::Producer::SQLite
3 -- Created on Tue Mar 16 16:49:23 2010
4 -- 
5
6 --
7 -- Table: artist
8 --
9 CREATE TABLE artist (
10   artistid INTEGER PRIMARY KEY NOT NULL,
11   name varchar(100),
12   rank integer NOT NULL DEFAULT '13',
13   charfield char(10)
14 );
15
16 CREATE INDEX artist_name_hookidx ON artist (name);
17
18 --
19 -- Table: bindtype_test
20 --
21 CREATE TABLE bindtype_test (
22   id INTEGER PRIMARY KEY NOT NULL,
23   bytea blob,
24   blob blob,
25   clob clob
26 );
27
28 --
29 -- Table: collection
30 --
31 CREATE TABLE collection (
32   collectionid INTEGER PRIMARY KEY NOT NULL,
33   name varchar(100) NOT NULL
34 );
35
36 --
37 -- Table: encoded
38 --
39 CREATE TABLE encoded (
40   id INTEGER PRIMARY KEY NOT NULL,
41   encoded varchar(100)
42 );
43
44 --
45 -- Table: event
46 --
47 CREATE TABLE event (
48   id INTEGER PRIMARY KEY NOT NULL,
49   starts_at date NOT NULL,
50   created_on timestamp NOT NULL,
51   varchar_date varchar(20),
52   varchar_datetime varchar(20),
53   skip_inflation datetime,
54   ts_without_tz datetime
55 );
56
57 --
58 -- Table: file_columns
59 --
60 CREATE TABLE file_columns (
61   id INTEGER PRIMARY KEY NOT NULL,
62   file varchar(255) NOT NULL
63 );
64
65 --
66 -- Table: fourkeys
67 --
68 CREATE TABLE fourkeys (
69   foo integer NOT NULL,
70   bar integer NOT NULL,
71   hello integer NOT NULL,
72   goodbye integer NOT NULL,
73   sensors character(10) NOT NULL,
74   read_count integer,
75   PRIMARY KEY (foo, bar, hello, goodbye)
76 );
77
78 --
79 -- Table: genre
80 --
81 CREATE TABLE genre (
82   genreid INTEGER PRIMARY KEY NOT NULL,
83   name varchar(100) NOT NULL
84 );
85
86 CREATE UNIQUE INDEX genre_name ON genre (name);
87
88 --
89 -- Table: link
90 --
91 CREATE TABLE link (
92   id INTEGER PRIMARY KEY NOT NULL,
93   url varchar(100),
94   title varchar(100)
95 );
96
97 --
98 -- Table: money_test
99 --
100 CREATE TABLE money_test (
101   id INTEGER PRIMARY KEY NOT NULL,
102   amount money
103 );
104
105 --
106 -- Table: noprimarykey
107 --
108 CREATE TABLE noprimarykey (
109   foo integer NOT NULL,
110   bar integer NOT NULL,
111   baz integer NOT NULL
112 );
113
114 CREATE UNIQUE INDEX foo_bar ON noprimarykey (foo, bar);
115
116 --
117 -- Table: onekey
118 --
119 CREATE TABLE onekey (
120   id INTEGER PRIMARY KEY NOT NULL,
121   artist integer NOT NULL,
122   cd integer NOT NULL
123 );
124
125 --
126 -- Table: owners
127 --
128 CREATE TABLE owners (
129   id INTEGER PRIMARY KEY NOT NULL,
130   name varchar(100) NOT NULL
131 );
132
133 --
134 -- Table: producer
135 --
136 CREATE TABLE producer (
137   producerid INTEGER PRIMARY KEY NOT NULL,
138   name varchar(100) NOT NULL
139 );
140
141 CREATE UNIQUE INDEX prod_name ON producer (name);
142
143 --
144 -- Table: self_ref
145 --
146 CREATE TABLE self_ref (
147   id INTEGER PRIMARY KEY NOT NULL,
148   name varchar(100) NOT NULL
149 );
150
151 --
152 -- Table: sequence_test
153 --
154 CREATE TABLE sequence_test (
155   pkid1 integer NOT NULL,
156   pkid2 integer NOT NULL,
157   nonpkid integer NOT NULL,
158   name varchar(100),
159   PRIMARY KEY (pkid1, pkid2)
160 );
161
162 --
163 -- Table: serialized
164 --
165 CREATE TABLE serialized (
166   id INTEGER PRIMARY KEY NOT NULL,
167   serialized text NOT NULL
168 );
169
170 --
171 -- Table: treelike
172 --
173 CREATE TABLE treelike (
174   id INTEGER PRIMARY KEY NOT NULL,
175   parent integer,
176   name varchar(100) NOT NULL
177 );
178
179 CREATE INDEX treelike_idx_parent ON treelike (parent);
180
181 --
182 -- Table: twokeytreelike
183 --
184 CREATE TABLE twokeytreelike (
185   id1 integer NOT NULL,
186   id2 integer NOT NULL,
187   parent1 integer NOT NULL,
188   parent2 integer NOT NULL,
189   name varchar(100) NOT NULL,
190   PRIMARY KEY (id1, id2)
191 );
192
193 CREATE INDEX twokeytreelike_idx_parent1_parent2 ON twokeytreelike (parent1, parent2);
194
195 CREATE UNIQUE INDEX tktlnameunique ON twokeytreelike (name);
196
197 --
198 -- Table: typed_object
199 --
200 CREATE TABLE typed_object (
201   objectid INTEGER PRIMARY KEY NOT NULL,
202   type varchar(100) NOT NULL,
203   value varchar(100) NOT NULL
204 );
205
206 --
207 -- Table: artist_undirected_map
208 --
209 CREATE TABLE artist_undirected_map (
210   id1 integer NOT NULL,
211   id2 integer NOT NULL,
212   PRIMARY KEY (id1, id2)
213 );
214
215 CREATE INDEX artist_undirected_map_idx_id1 ON artist_undirected_map (id1);
216
217 CREATE INDEX artist_undirected_map_idx_id2 ON artist_undirected_map (id2);
218
219 --
220 -- Table: bookmark
221 --
222 CREATE TABLE bookmark (
223   id INTEGER PRIMARY KEY NOT NULL,
224   link integer
225 );
226
227 CREATE INDEX bookmark_idx_link ON bookmark (link);
228
229 --
230 -- Table: books
231 --
232 CREATE TABLE books (
233   id INTEGER PRIMARY KEY NOT NULL,
234   source varchar(100) NOT NULL,
235   owner integer NOT NULL,
236   title varchar(100) NOT NULL,
237   price integer
238 );
239
240 CREATE INDEX books_idx_owner ON books (owner);
241
242 --
243 -- Table: employee
244 --
245 CREATE TABLE employee (
246   employee_id INTEGER PRIMARY KEY NOT NULL,
247   position integer NOT NULL,
248   group_id integer,
249   group_id_2 integer,
250   group_id_3 integer,
251   name varchar(100),
252   encoded integer
253 );
254
255 CREATE INDEX employee_idx_encoded ON employee (encoded);
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";