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