activerecord-amalgalite-adapter 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :table_with_autoincrement, :force => true do |t|
3
+ t.column :name, :string
4
+ end
5
+
6
+ execute "DROP TABLE fk_test_has_fk" rescue nil
7
+ execute "DROP TABLE fk_test_has_pk" rescue nil
8
+ execute <<_SQL
9
+ CREATE TABLE 'fk_test_has_pk' (
10
+ 'id' INTEGER NOT NULL PRIMARY KEY
11
+ );
12
+ _SQL
13
+
14
+ execute <<_SQL
15
+ CREATE TABLE 'fk_test_has_fk' (
16
+ 'id' INTEGER NOT NULL PRIMARY KEY,
17
+ 'fk_id' INTEGER NOT NULL,
18
+
19
+ FOREIGN KEY ('fk_id') REFERENCES 'fk_test_has_pk'('id')
20
+ );
21
+ _SQL
22
+ end
@@ -0,0 +1,473 @@
1
+
2
+ ActiveRecord::Schema.define do
3
+ def except(adapter_names_to_exclude)
4
+ unless [adapter_names_to_exclude].flatten.include?(adapter_name)
5
+ yield
6
+ end
7
+ end
8
+
9
+ #put adapter specific setup here
10
+ case adapter_name
11
+ # For Firebird, set the sequence values 10000 when create_table is called;
12
+ # this prevents primary key collisions between "normally" created records
13
+ # and fixture-based (YAML) records.
14
+ when "Firebird"
15
+ def create_table(*args, &block)
16
+ ActiveRecord::Base.connection.create_table(*args, &block)
17
+ ActiveRecord::Base.connection.execute "SET GENERATOR #{args.first}_seq TO 10000"
18
+ end
19
+ end
20
+
21
+
22
+ # Please keep these create table statements in alphabetical order
23
+ # unless the ordering matters. In which case, define them below
24
+ create_table :accounts, :force => true do |t|
25
+ t.integer :firm_id
26
+ t.integer :credit_limit
27
+ end
28
+
29
+ create_table :audit_logs, :force => true do |t|
30
+ t.column :message, :string, :null=>false
31
+ t.column :developer_id, :integer, :null=>false
32
+ end
33
+
34
+ create_table :authors, :force => true do |t|
35
+ t.string :name, :null => false
36
+ t.integer :author_address_id
37
+ t.integer :author_address_extra_id
38
+ end
39
+
40
+ create_table :author_addresses, :force => true do |t|
41
+ end
42
+
43
+ create_table :author_favorites, :force => true do |t|
44
+ t.column :author_id, :integer
45
+ t.column :favorite_author_id, :integer
46
+ end
47
+
48
+
49
+ create_table :auto_id_tests, :force => true, :id => false do |t|
50
+ t.primary_key :auto_id
51
+ t.integer :value
52
+ end
53
+
54
+ create_table :binaries, :force => true do |t|
55
+ t.binary :data
56
+ end
57
+
58
+ create_table :birds, :force => true do |t|
59
+ t.string :name
60
+ t.integer :pirate_id
61
+ end
62
+
63
+ create_table :books, :force => true do |t|
64
+ t.column :name, :string
65
+ end
66
+
67
+ create_table :booleantests, :force => true do |t|
68
+ t.boolean :value
69
+ end
70
+
71
+ create_table :categories, :force => true do |t|
72
+ t.string :name, :null => false
73
+ t.string :type
74
+ t.integer :categorizations_count
75
+ end
76
+
77
+ create_table :categories_posts, :force => true, :id => false do |t|
78
+ t.integer :category_id, :null => false
79
+ t.integer :post_id, :null => false
80
+ end
81
+
82
+ create_table :categorizations, :force => true do |t|
83
+ t.column :category_id, :integer
84
+ t.column :post_id, :integer
85
+ t.column :author_id, :integer
86
+ end
87
+
88
+ create_table :citations, :force => true do |t|
89
+ t.column :book1_id, :integer
90
+ t.column :book2_id, :integer
91
+ end
92
+
93
+ create_table :clubs, :force => true do |t|
94
+ t.string :name
95
+ end
96
+
97
+ create_table :colnametests, :force => true do |t|
98
+ t.integer :references, :null => false
99
+ end
100
+
101
+ create_table :comments, :force => true do |t|
102
+ t.integer :post_id, :null => false
103
+ t.text :body, :null => false
104
+ t.string :type
105
+ end
106
+
107
+ create_table :companies, :force => true do |t|
108
+ t.string :type
109
+ t.string :ruby_type
110
+ t.integer :firm_id
111
+ t.string :firm_name
112
+ t.string :name
113
+ t.integer :client_of
114
+ t.integer :rating, :default => 1
115
+ end
116
+
117
+ create_table :computers, :force => true do |t|
118
+ t.integer :developer, :null => false
119
+ t.integer :extendedWarranty, :null => false
120
+ end
121
+
122
+
123
+ create_table :customers, :force => true do |t|
124
+ t.string :name
125
+ t.integer :balance, :default => 0
126
+ t.string :address_street
127
+ t.string :address_city
128
+ t.string :address_country
129
+ t.string :gps_location
130
+ end
131
+
132
+ create_table :developers, :force => true do |t|
133
+ t.string :name
134
+ t.integer :salary, :default => 70000
135
+ t.datetime :created_at
136
+ t.datetime :updated_at
137
+ end
138
+
139
+ create_table :developers_projects, :force => true, :id => false do |t|
140
+ t.integer :developer_id, :null => false
141
+ t.integer :project_id, :null => false
142
+ t.date :joined_on
143
+ t.integer :access_level, :default => 1
144
+ end
145
+
146
+ create_table :edges, :force => true do |t|
147
+ t.column :source_id, :integer, :null => false
148
+ t.column :sink_id, :integer, :null => false
149
+ end
150
+ add_index :edges, [:source_id, :sink_id], :unique => true, :name => 'unique_edge_index'
151
+
152
+
153
+ create_table :entrants, :force => true do |t|
154
+ t.string :name, :null => false
155
+ t.integer :course_id, :null => false
156
+ end
157
+
158
+ create_table :events, :force => true do |t|
159
+ t.string :title, :limit => 5
160
+ end
161
+
162
+ create_table :funny_jokes, :force => true do |t|
163
+ t.string :name
164
+ end
165
+
166
+ create_table :goofy_string_id, :force => true, :id => false do |t|
167
+ t.string :id, :null => false
168
+ t.string :info
169
+ end
170
+
171
+ create_table :items, :force => true do |t|
172
+ t.column :name, :integer
173
+ end
174
+
175
+ create_table :inept_wizards, :force => true do |t|
176
+ t.column :name, :string, :null => false
177
+ t.column :city, :string, :null => false
178
+ t.column :type, :string
179
+ end
180
+
181
+
182
+ create_table :jobs, :force => true do |t|
183
+ t.integer :ideal_reference_id
184
+ end
185
+
186
+ create_table :keyboards, :force => true, :id => false do |t|
187
+ t.primary_key :key_number
188
+ t.string :name
189
+ end
190
+
191
+ create_table :legacy_things, :force => true do |t|
192
+ t.integer :tps_report_number
193
+ t.integer :version, :null => false, :default => 0
194
+ end
195
+
196
+ create_table :lock_without_defaults, :force => true do |t|
197
+ t.column :lock_version, :integer
198
+ end
199
+
200
+ create_table :lock_without_defaults_cust, :force => true do |t|
201
+ t.column :custom_lock_version, :integer
202
+ end
203
+
204
+ create_table :mateys, :id => false, :force => true do |t|
205
+ t.column :pirate_id, :integer
206
+ t.column :target_id, :integer
207
+ t.column :weight, :integer
208
+ end
209
+
210
+ create_table :members, :force => true do |t|
211
+ t.string :name
212
+ t.integer :member_type_id
213
+ end
214
+
215
+ create_table :member_details, :force => true do |t|
216
+ t.integer :member_id
217
+ t.integer :organization_id
218
+ t.string :extra_data
219
+ end
220
+
221
+ create_table :memberships, :force => true do |t|
222
+ t.datetime :joined_on
223
+ t.integer :club_id, :member_id
224
+ t.boolean :favourite, :default => false
225
+ t.string :type
226
+ end
227
+
228
+ create_table :member_types, :force => true do |t|
229
+ t.string :name
230
+ end
231
+
232
+ create_table :references, :force => true do |t|
233
+ t.integer :person_id
234
+ t.integer :job_id
235
+ t.boolean :favourite
236
+ t.integer :lock_version, :default => 0
237
+ end
238
+
239
+ create_table :minimalistics, :force => true do |t|
240
+ end
241
+
242
+ create_table :mixed_case_monkeys, :force => true, :id => false do |t|
243
+ t.primary_key :monkeyID
244
+ t.integer :fleaCount
245
+ end
246
+
247
+ create_table :mixins, :force => true do |t|
248
+ t.integer :parent_id
249
+ t.integer :pos
250
+ t.datetime :created_at
251
+ t.datetime :updated_at
252
+ t.integer :lft
253
+ t.integer :rgt
254
+ t.integer :root_id
255
+ t.string :type
256
+ end
257
+
258
+ create_table :movies, :force => true, :id => false do |t|
259
+ t.primary_key :movieid
260
+ t.string :name
261
+ end
262
+
263
+ create_table :numeric_data, :force => true do |t|
264
+ t.decimal :bank_balance, :precision => 10, :scale => 2
265
+ t.decimal :big_bank_balance, :precision => 15, :scale => 2
266
+ t.decimal :world_population, :precision => 10, :scale => 0
267
+ t.decimal :my_house_population, :precision => 2, :scale => 0
268
+ t.decimal :decimal_number_with_default, :precision => 3, :scale => 2, :default => 2.78
269
+ t.float :temperature
270
+ end
271
+
272
+ create_table :orders, :force => true do |t|
273
+ t.string :name
274
+ t.integer :billing_customer_id
275
+ t.integer :shipping_customer_id
276
+ end
277
+
278
+ create_table :organizations, :force => true do |t|
279
+ t.string :name
280
+ end
281
+
282
+ create_table :owners, :primary_key => :owner_id ,:force => true do |t|
283
+ t.string :name
284
+ end
285
+
286
+
287
+ create_table :paint_colors, :force => true do |t|
288
+ t.integer :non_poly_one_id
289
+ end
290
+
291
+ create_table :paint_textures, :force => true do |t|
292
+ t.integer :non_poly_two_id
293
+ end
294
+
295
+ create_table :parrots, :force => true do |t|
296
+ t.column :name, :string
297
+ t.column :parrot_sti_class, :string
298
+ t.column :killer_id, :integer
299
+ t.column :created_at, :datetime
300
+ t.column :created_on, :datetime
301
+ t.column :updated_at, :datetime
302
+ t.column :updated_on, :datetime
303
+ end
304
+
305
+ create_table :parrots_pirates, :id => false, :force => true do |t|
306
+ t.column :parrot_id, :integer
307
+ t.column :pirate_id, :integer
308
+ end
309
+
310
+ create_table :parrots_treasures, :id => false, :force => true do |t|
311
+ t.column :parrot_id, :integer
312
+ t.column :treasure_id, :integer
313
+ end
314
+
315
+ create_table :people, :force => true do |t|
316
+ t.string :first_name, :null => false
317
+ t.references :primary_contact
318
+ t.string :gender, :limit => 1
319
+ t.integer :lock_version, :null => false, :default => 0
320
+ end
321
+
322
+ create_table :pets, :primary_key => :pet_id ,:force => true do |t|
323
+ t.string :name
324
+ t.integer :owner_id, :integer
325
+ end
326
+
327
+ create_table :pirates, :force => true do |t|
328
+ t.column :catchphrase, :string
329
+ t.column :parrot_id, :integer
330
+ t.column :created_on, :datetime
331
+ t.column :updated_on, :datetime
332
+ end
333
+
334
+ create_table :posts, :force => true do |t|
335
+ t.integer :author_id
336
+ t.string :title, :null => false
337
+ t.text :body, :null => false
338
+ t.string :type
339
+ t.integer :comments_count, :default => 0
340
+ t.integer :taggings_count, :default => 0
341
+ end
342
+
343
+ create_table :price_estimates, :force => true do |t|
344
+ t.string :estimate_of_type
345
+ t.integer :estimate_of_id
346
+ t.integer :price
347
+ end
348
+
349
+ create_table :projects, :force => true do |t|
350
+ t.string :name
351
+ t.string :type
352
+ end
353
+
354
+ create_table :readers, :force => true do |t|
355
+ t.integer :post_id, :null => false
356
+ t.integer :person_id, :null => false
357
+ end
358
+
359
+ create_table :shape_expressions, :force => true do |t|
360
+ t.string :paint_type
361
+ t.integer :paint_id
362
+ t.string :shape_type
363
+ t.integer :shape_id
364
+ end
365
+
366
+ create_table :ships, :force => true do |t|
367
+ t.string :name
368
+ t.integer :pirate_id
369
+ t.datetime :created_at
370
+ t.datetime :created_on
371
+ t.datetime :updated_at
372
+ t.datetime :updated_on
373
+ end
374
+
375
+ create_table :ship_parts, :force => true do |t|
376
+ t.string :name
377
+ t.integer :ship_id
378
+ end
379
+
380
+ create_table :sponsors, :force => true do |t|
381
+ t.integer :club_id
382
+ t.integer :sponsorable_id
383
+ t.string :sponsorable_type
384
+ end
385
+
386
+ create_table :subscribers, :force => true, :id => false do |t|
387
+ t.string :nick, :null => false
388
+ t.string :name
389
+ end
390
+ add_index :subscribers, :nick, :unique => true
391
+
392
+ create_table :subscriptions, :force => true do |t|
393
+ t.string :subscriber_id
394
+ t.integer :book_id
395
+ end
396
+
397
+ create_table :tasks, :force => true do |t|
398
+ t.datetime :starting
399
+ t.datetime :ending
400
+ end
401
+
402
+ create_table :topics, :force => true do |t|
403
+ t.string :title
404
+ t.string :author_name
405
+ t.string :author_email_address
406
+ t.datetime :written_on
407
+ t.time :bonus_time
408
+ t.date :last_read
409
+ t.text :content
410
+ t.boolean :approved, :default => true
411
+ t.integer :replies_count, :default => 0
412
+ t.integer :parent_id
413
+ t.string :type
414
+ end
415
+
416
+ create_table :taggings, :force => true do |t|
417
+ t.column :tag_id, :integer
418
+ t.column :super_tag_id, :integer
419
+ t.column :taggable_type, :string
420
+ t.column :taggable_id, :integer
421
+ end
422
+
423
+ create_table :tags, :force => true do |t|
424
+ t.column :name, :string
425
+ t.column :taggings_count, :integer, :default => 0
426
+ end
427
+
428
+ create_table :toys, :primary_key => :toy_id ,:force => true do |t|
429
+ t.string :name
430
+ t.integer :pet_id, :integer
431
+ end
432
+
433
+ create_table :treasures, :force => true do |t|
434
+ t.column :name, :string
435
+ t.column :looter_id, :integer
436
+ t.column :looter_type, :string
437
+ end
438
+
439
+ create_table :vertices, :force => true do |t|
440
+ t.column :label, :string
441
+ end
442
+
443
+ create_table 'warehouse-things', :force => true do |t|
444
+ t.integer :value
445
+ end
446
+
447
+ [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each do |t|
448
+ create_table(t, :force => true) { }
449
+ end
450
+
451
+ create_table :guids, :force => true do |t|
452
+ t.column :key, :string
453
+ end
454
+
455
+ create_table :integer_limits, :force => true do |t|
456
+ t.integer :"c_int_without_limit"
457
+ (1..8).each do |i|
458
+ t.integer :"c_int_#{i}", :limit => i
459
+ end
460
+ end
461
+
462
+ except 'Amalgalite' do
463
+ # fk_test_has_fk should be before fk_test_has_pk
464
+ create_table :fk_test_has_fk, :force => true do |t|
465
+ t.integer :fk_id, :null => false
466
+ end
467
+
468
+ create_table :fk_test_has_pk, :force => true do |t|
469
+ end
470
+
471
+ execute "ALTER TABLE fk_test_has_fk ADD CONSTRAINT fk_name FOREIGN KEY (#{quote_column_name 'fk_id'}) REFERENCES #{quote_table_name 'fk_test_has_pk'} (#{quote_column_name 'id'})"
472
+ end
473
+ end