Test prompted by discussion about tasty stuff
[dbsrgits/DBIx-Class.git] / t / lib / sqlite.sql
1 -- 
2 -- Created by SQL::Translator::Producer::SQLite
3 -- Created on Sun Nov  2 15:27:04 2008
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 );
16
17
18 --
19 -- Table: artist_undirected_map
20 --
21 CREATE TABLE artist_undirected_map (
22   id1 integer NOT NULL,
23   id2 integer NOT NULL,
24   PRIMARY KEY (id1, id2)
25 );
26
27 CREATE INDEX artist_undirected_map_idx_id1_ ON artist_undirected_map (id1);
28 CREATE INDEX artist_undirected_map_idx_id2_ ON artist_undirected_map (id2);
29
30 --
31 -- Table: bookmark
32 --
33 CREATE TABLE bookmark (
34   id INTEGER PRIMARY KEY NOT NULL,
35   link integer NOT NULL
36 );
37
38 CREATE INDEX bookmark_idx_link_bookmark ON bookmark (link);
39
40 --
41 -- Table: books
42 --
43 CREATE TABLE books (
44   id INTEGER PRIMARY KEY NOT NULL,
45   source varchar(100) NOT NULL,
46   owner integer NOT NULL,
47   title varchar(100) NOT NULL,
48   price integer
49 );
50
51
52 --
53 -- Table: cd
54 --
55 CREATE TABLE cd (
56   cdid INTEGER PRIMARY KEY NOT NULL,
57   artist integer NOT NULL,
58   title varchar(100) NOT NULL,
59   year varchar(100) NOT NULL,
60   genreid integer
61 );
62
63 CREATE INDEX cd_idx_artist_cd ON cd (artist);
64 CREATE INDEX cd_idx_genreid_cd ON cd (genreid);
65 CREATE UNIQUE INDEX cd_artist_title_cd ON cd (artist, title);
66
67 --
68 -- Table: cd_to_producer
69 --
70 CREATE TABLE cd_to_producer (
71   cd integer NOT NULL,
72   producer integer NOT NULL,
73   PRIMARY KEY (cd, producer)
74 );
75
76 CREATE INDEX cd_to_producer_idx_cd_cd_to_pr ON cd_to_producer (cd);
77 CREATE INDEX cd_to_producer_idx_producer_cd ON cd_to_producer (producer);
78
79 --
80 -- Table: collection
81 --
82 CREATE TABLE collection (
83   collectionid INTEGER PRIMARY KEY NOT NULL,
84   name varchar(100) NOT NULL
85 );
86
87
88 --
89 -- Table: collection_object
90 --
91 CREATE TABLE collection_object (
92   collection integer NOT NULL,
93   object integer NOT NULL,
94   PRIMARY KEY (collection, object)
95 );
96
97 CREATE INDEX collection_object_idx_collection_collection_obj ON collection_object (collection);
98 CREATE INDEX collection_object_idx_object_c ON collection_object (object);
99
100 --
101 -- Table: employee
102 --
103 CREATE TABLE employee (
104   employee_id INTEGER PRIMARY KEY NOT NULL,
105   position integer NOT NULL,
106   group_id integer,
107   group_id_2 integer,
108   name varchar(100)
109 );
110
111
112 --
113 -- Table: event
114 --
115 CREATE TABLE event (
116   id INTEGER PRIMARY KEY NOT NULL,
117   starts_at datetime NOT NULL,
118   created_on timestamp NOT NULL,
119   varchar_date varchar(20),
120   varchar_datetime varchar(20),
121   skip_inflation datetime(20)
122 );
123
124
125 --
126 -- Table: file_columns
127 --
128 CREATE TABLE file_columns (
129   id INTEGER PRIMARY KEY NOT NULL,
130   file varchar(255) NOT NULL
131 );
132
133
134 --
135 -- Table: forceforeign
136 --
137 CREATE TABLE forceforeign (
138   artist INTEGER PRIMARY KEY NOT NULL,
139   cd integer NOT NULL
140 );
141
142 CREATE INDEX forceforeign_idx_artist_forcef ON forceforeign (artist);
143
144 --
145 -- Table: fourkeys
146 --
147 CREATE TABLE fourkeys (
148   foo integer NOT NULL,
149   bar integer NOT NULL,
150   hello integer NOT NULL,
151   goodbye integer NOT NULL,
152   sensors character NOT NULL,
153   PRIMARY KEY (foo, bar, hello, goodbye)
154 );
155
156
157 --
158 -- Table: fourkeys_to_twokeys
159 --
160 CREATE TABLE fourkeys_to_twokeys (
161   f_foo integer NOT NULL,
162   f_bar integer NOT NULL,
163   f_hello integer NOT NULL,
164   f_goodbye integer NOT NULL,
165   t_artist integer NOT NULL,
166   t_cd integer NOT NULL,
167   autopilot character NOT NULL,
168   PRIMARY KEY (f_foo, f_bar, f_hello, f_goodbye, t_artist, t_cd)
169 );
170
171 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);
172 CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd_fourkeys_to ON fourkeys_to_twokeys (t_artist, t_cd);
173
174 --
175 -- Table: genre
176 --
177 CREATE TABLE genre (
178   genreid INTEGER PRIMARY KEY NOT NULL,
179   name varchar(100) NOT NULL
180 );
181
182 CREATE UNIQUE INDEX genre_name_genre ON genre (name);
183
184 --
185 -- Table: liner_notes
186 --
187 CREATE TABLE liner_notes (
188   liner_id INTEGER PRIMARY KEY NOT NULL,
189   notes varchar(100) NOT NULL
190 );
191
192
193 --
194 -- Table: link
195 --
196 CREATE TABLE link (
197   id INTEGER PRIMARY KEY NOT NULL,
198   url varchar(100),
199   title varchar(100)
200 );
201
202
203 --
204 -- Table: noprimarykey
205 --
206 CREATE TABLE noprimarykey (
207   foo integer NOT NULL,
208   bar integer NOT NULL,
209   baz integer NOT NULL
210 );
211
212 CREATE UNIQUE INDEX foo_bar_noprimarykey ON noprimarykey (foo, bar);
213
214 --
215 -- Table: onekey
216 --
217 CREATE TABLE onekey (
218   id INTEGER PRIMARY KEY NOT NULL,
219   artist integer NOT NULL,
220   cd integer NOT NULL
221 );
222
223
224 --
225 -- Table: owners
226 --
227 CREATE TABLE owners (
228   ownerid INTEGER PRIMARY KEY NOT NULL,
229   name varchar(100) NOT NULL
230 );
231
232
233 --
234 -- Table: producer
235 --
236 CREATE TABLE producer (
237   producerid INTEGER PRIMARY KEY NOT NULL,
238   name varchar(100) NOT NULL
239 );
240
241 CREATE UNIQUE INDEX prod_name_producer ON producer (name);
242
243 --
244 -- Table: self_ref
245 --
246 CREATE TABLE self_ref (
247   id INTEGER PRIMARY KEY NOT NULL,
248   name varchar(100) NOT NULL
249 );
250
251
252 --
253 -- Table: self_ref_alias
254 --
255 CREATE TABLE self_ref_alias (
256   self_ref integer NOT NULL,
257   alias integer NOT NULL,
258   PRIMARY KEY (self_ref, alias)
259 );
260
261 CREATE INDEX self_ref_alias_idx_alias_self_ ON self_ref_alias (alias);
262 CREATE INDEX self_ref_alias_idx_self_ref_se ON self_ref_alias (self_ref);
263
264 --
265 -- Table: sequence_test
266 --
267 CREATE TABLE sequence_test (
268   pkid1 integer NOT NULL,
269   pkid2 integer NOT NULL,
270   nonpkid integer NOT NULL,
271   name varchar(100),
272   PRIMARY KEY (pkid1, pkid2)
273 );
274
275
276 --
277 -- Table: serialized
278 --
279 CREATE TABLE serialized (
280   id INTEGER PRIMARY KEY NOT NULL,
281   serialized text NOT NULL
282 );
283
284
285 --
286 -- Table: tags
287 --
288 CREATE TABLE tags (
289   tagid INTEGER PRIMARY KEY NOT NULL,
290   cd integer NOT NULL,
291   tag varchar(100) NOT NULL
292 );
293
294 CREATE INDEX tags_idx_cd_tags ON tags (cd);
295
296 --
297 -- Table: track
298 --
299 CREATE TABLE track (
300   trackid INTEGER PRIMARY KEY NOT NULL,
301   cd integer NOT NULL,
302   position integer NOT NULL,
303   title varchar(100) NOT NULL,
304   last_updated_on datetime
305 );
306
307 CREATE INDEX track_idx_cd_track ON track (cd);
308 CREATE UNIQUE INDEX track_cd_position_track ON track (cd, position);
309 CREATE UNIQUE INDEX track_cd_title_track ON track (cd, title);
310
311 --
312 -- Table: treelike
313 --
314 CREATE TABLE treelike (
315   id INTEGER PRIMARY KEY NOT NULL,
316   parent integer,
317   name varchar(100) NOT NULL
318 );
319
320 CREATE INDEX treelike_idx_parent_treelike ON treelike (parent);
321
322 --
323 -- Table: twokeytreelike
324 --
325 CREATE TABLE twokeytreelike (
326   id1 integer NOT NULL,
327   id2 integer NOT NULL,
328   parent1 integer NOT NULL,
329   parent2 integer NOT NULL,
330   name varchar(100) NOT NULL,
331   PRIMARY KEY (id1, id2)
332 );
333
334 CREATE INDEX twokeytreelike_idx_parent1_parent2_twokeytre ON twokeytreelike (parent1, parent2);
335 CREATE UNIQUE INDEX tktlnameunique_twokeytreelike ON twokeytreelike (name);
336
337 --
338 -- Table: twokeys
339 --
340 CREATE TABLE twokeys (
341   artist integer NOT NULL,
342   cd integer NOT NULL,
343   PRIMARY KEY (artist, cd)
344 );
345
346 CREATE INDEX twokeys_idx_artist_twokeys ON twokeys (artist);
347
348 --
349 -- Table: typed_object
350 --
351 CREATE TABLE typed_object (
352   objectid INTEGER PRIMARY KEY NOT NULL,
353   type varchar(100) NOT NULL,
354   value varchar(100) NOT NULL
355 );
356
357
358 COMMIT;