2
ActiveRecord::Schema.define do
3
def except(adapter_names_to_exclude)
4
unless [adapter_names_to_exclude].flatten.include?(adapter_name)
9
#put adapter specific setup here
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.
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"
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|
27
t.integer :credit_limit
30
create_table :audit_logs, :force => true do |t|
31
t.column :message, :string, :null=>false
32
t.column :developer_id, :integer, :null=>false
35
create_table :authors, :force => true do |t|
36
t.string :name, :null => false
37
t.integer :author_address_id
38
t.integer :author_address_extra_id
41
create_table :author_addresses, :force => true do |t|
44
create_table :author_favorites, :force => true do |t|
45
t.column :author_id, :integer
46
t.column :favorite_author_id, :integer
50
create_table :auto_id_tests, :force => true, :id => false do |t|
51
t.primary_key :auto_id
55
create_table :binaries, :force => true do |t|
59
create_table :birds, :force => true do |t|
64
create_table :books, :force => true do |t|
65
t.column :name, :string
68
create_table :booleantests, :force => true do |t|
72
create_table "CamelCase", :force => true do |t|
76
create_table :categories, :force => true do |t|
77
t.string :name, :null => false
79
t.integer :categorizations_count
82
create_table :categories_posts, :force => true, :id => false do |t|
83
t.integer :category_id, :null => false
84
t.integer :post_id, :null => false
87
create_table :categorizations, :force => true do |t|
88
t.column :category_id, :integer
89
t.column :post_id, :integer
90
t.column :author_id, :integer
93
create_table :citations, :force => true do |t|
94
t.column :book1_id, :integer
95
t.column :book2_id, :integer
98
create_table :clubs, :force => true do |t|
102
create_table :colnametests, :force => true do |t|
103
t.integer :references, :null => false
106
create_table :comments, :force => true do |t|
107
t.integer :post_id, :null => false
108
t.text :body, :null => false
112
create_table :companies, :force => true do |t|
119
t.integer :rating, :default => 1
122
add_index :companies, [:firm_id, :type, :rating, :ruby_type], :name => "company_index"
124
create_table :computers, :force => true do |t|
125
t.integer :developer, :null => false
126
t.integer :extendedWarranty, :null => false
129
create_table :contracts, :force => true do |t|
130
t.integer :developer_id
131
t.integer :company_id
134
create_table :customers, :force => true do |t|
136
t.integer :balance, :default => 0
137
t.string :address_street
138
t.string :address_city
139
t.string :address_country
140
t.string :gps_location
143
create_table :developers, :force => true do |t|
145
t.integer :salary, :default => 70000
146
t.datetime :created_at
147
t.datetime :updated_at
150
create_table :developers_projects, :force => true, :id => false do |t|
151
t.integer :developer_id, :null => false
152
t.integer :project_id, :null => false
154
t.integer :access_level, :default => 1
157
create_table :edges, :force => true do |t|
158
t.column :source_id, :integer, :null => false
159
t.column :sink_id, :integer, :null => false
161
add_index :edges, [:source_id, :sink_id], :unique => true, :name => 'unique_edge_index'
164
create_table :entrants, :force => true do |t|
165
t.string :name, :null => false
166
t.integer :course_id, :null => false
169
create_table :essays, :force => true do |t|
172
t.string :writer_type
175
create_table :events, :force => true do |t|
176
t.string :title, :limit => 5
179
create_table :funny_jokes, :force => true do |t|
183
create_table :goofy_string_id, :force => true, :id => false do |t|
184
t.string :id, :null => false
188
create_table :items, :force => true do |t|
189
t.column :name, :integer
192
create_table :inept_wizards, :force => true do |t|
193
t.column :name, :string, :null => false
194
t.column :city, :string, :null => false
195
t.column :type, :string
199
create_table :jobs, :force => true do |t|
200
t.integer :ideal_reference_id
203
create_table :keyboards, :force => true, :id => false do |t|
204
t.primary_key :key_number
208
create_table :legacy_things, :force => true do |t|
209
t.integer :tps_report_number
210
t.integer :version, :null => false, :default => 0
213
create_table :lock_without_defaults, :force => true do |t|
214
t.column :lock_version, :integer
217
create_table :lock_without_defaults_cust, :force => true do |t|
218
t.column :custom_lock_version, :integer
221
create_table :mateys, :id => false, :force => true do |t|
222
t.column :pirate_id, :integer
223
t.column :target_id, :integer
224
t.column :weight, :integer
227
create_table :members, :force => true do |t|
229
t.integer :member_type_id
232
create_table :member_details, :force => true do |t|
234
t.integer :organization_id
238
create_table :memberships, :force => true do |t|
239
t.datetime :joined_on
240
t.integer :club_id, :member_id
241
t.boolean :favourite, :default => false
245
create_table :member_types, :force => true do |t|
249
create_table :references, :force => true do |t|
253
t.integer :lock_version, :default => 0
256
create_table :minimalistics, :force => true do |t|
259
create_table :mixed_case_monkeys, :force => true, :id => false do |t|
260
t.primary_key :monkeyID
264
create_table :mixins, :force => true do |t|
267
t.datetime :created_at
268
t.datetime :updated_at
275
create_table :movies, :force => true, :id => false do |t|
276
t.primary_key :movieid
280
create_table :numeric_data, :force => true do |t|
281
t.decimal :bank_balance, :precision => 10, :scale => 2
282
t.decimal :big_bank_balance, :precision => 15, :scale => 2
283
t.decimal :world_population, :precision => 10, :scale => 0
284
t.decimal :my_house_population, :precision => 2, :scale => 0
285
t.decimal :decimal_number_with_default, :precision => 3, :scale => 2, :default => 2.78
289
create_table :orders, :force => true do |t|
291
t.integer :billing_customer_id
292
t.integer :shipping_customer_id
295
create_table :organizations, :force => true do |t|
299
create_table :owners, :primary_key => :owner_id ,:force => true do |t|
301
t.column :updated_at, :datetime
302
t.column :happy_at, :datetime
306
create_table :paint_colors, :force => true do |t|
307
t.integer :non_poly_one_id
310
create_table :paint_textures, :force => true do |t|
311
t.integer :non_poly_two_id
314
create_table :parrots, :force => true do |t|
315
t.column :name, :string
316
t.column :parrot_sti_class, :string
317
t.column :killer_id, :integer
318
t.column :created_at, :datetime
319
t.column :created_on, :datetime
320
t.column :updated_at, :datetime
321
t.column :updated_on, :datetime
324
create_table :parrots_pirates, :id => false, :force => true do |t|
325
t.column :parrot_id, :integer
326
t.column :pirate_id, :integer
329
create_table :parrots_treasures, :id => false, :force => true do |t|
330
t.column :parrot_id, :integer
331
t.column :treasure_id, :integer
334
create_table :people, :force => true do |t|
335
t.string :first_name, :null => false
336
t.references :primary_contact
337
t.string :gender, :limit => 1
338
t.integer :lock_version, :null => false, :default => 0
341
create_table :pets, :primary_key => :pet_id ,:force => true do |t|
343
t.integer :owner_id, :integer
346
create_table :pirates, :force => true do |t|
347
t.column :catchphrase, :string
348
t.column :parrot_id, :integer
349
t.column :created_on, :datetime
350
t.column :updated_on, :datetime
353
create_table :posts, :force => true do |t|
355
t.string :title, :null => false
356
t.text :body, :null => false
358
t.integer :comments_count, :default => 0
359
t.integer :taggings_count, :default => 0
362
create_table :price_estimates, :force => true do |t|
363
t.string :estimate_of_type
364
t.integer :estimate_of_id
368
create_table :projects, :force => true do |t|
373
create_table :readers, :force => true do |t|
374
t.integer :post_id, :null => false
375
t.integer :person_id, :null => false
378
create_table :shape_expressions, :force => true do |t|
385
create_table :ships, :force => true do |t|
388
t.datetime :created_at
389
t.datetime :created_on
390
t.datetime :updated_at
391
t.datetime :updated_on
394
create_table :ship_parts, :force => true do |t|
399
create_table :sponsors, :force => true do |t|
401
t.integer :sponsorable_id
402
t.string :sponsorable_type
405
create_table :subscribers, :force => true, :id => false do |t|
406
t.string :nick, :null => false
409
add_index :subscribers, :nick, :unique => true
411
create_table :subscriptions, :force => true do |t|
412
t.string :subscriber_id
416
create_table :tasks, :force => true do |t|
421
create_table :topics, :force => true do |t|
423
t.string :author_name
424
t.string :author_email_address
425
t.datetime :written_on
429
t.boolean :approved, :default => true
430
t.integer :replies_count, :default => 0
432
t.string :parent_title
436
create_table :taggings, :force => true do |t|
437
t.column :tag_id, :integer
438
t.column :super_tag_id, :integer
439
t.column :taggable_type, :string
440
t.column :taggable_id, :integer
443
create_table :tags, :force => true do |t|
444
t.column :name, :string
445
t.column :taggings_count, :integer, :default => 0
448
create_table :toys, :primary_key => :toy_id ,:force => true do |t|
450
t.integer :pet_id, :integer
453
create_table :treasures, :force => true do |t|
454
t.column :name, :string
455
t.column :looter_id, :integer
456
t.column :looter_type, :string
459
create_table :vertices, :force => true do |t|
460
t.column :label, :string
463
create_table 'warehouse-things', :force => true do |t|
467
[:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each do |t|
468
create_table(t, :force => true) { }
471
create_table :guids, :force => true do |t|
472
t.column :key, :string
475
create_table :integer_limits, :force => true do |t|
476
t.integer :"c_int_without_limit"
478
t.integer :"c_int_#{i}", :limit => i
483
# fk_test_has_fk should be before fk_test_has_pk
484
create_table :fk_test_has_fk, :force => true do |t|
485
t.integer :fk_id, :null => false
488
create_table :fk_test_has_pk, :force => true do |t|
491
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'})"