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