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