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