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