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
|
26 t
.integer
:credit_limit
29 create_table
:audit_logs, :force => true do |t
|
30 t
.column
:message, :string, :null=>false
31 t
.column
:developer_id, :integer, :null=>false
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
40 create_table
:author_addresses, :force => true do |t
|
43 create_table
:author_favorites, :force => true do |t
|
44 t
.column
:author_id, :integer
45 t
.column
:favorite_author_id, :integer
49 create_table
:auto_id_tests, :force => true, :id => false do |t
|
50 t
.primary_key
:auto_id
54 create_table
:binaries, :force => true do |t
|
58 create_table
:birds, :force => true do |t
|
63 create_table
:books, :force => true do |t
|
64 t
.column
:name, :string
67 create_table
:booleantests, :force => true do |t
|
71 create_table
:categories, :force => true do |t
|
72 t
.string
:name, :null => false
74 t
.integer
:categorizations_count
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
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
88 create_table
:citations, :force => true do |t
|
89 t
.column
:book1_id, :integer
90 t
.column
:book2_id, :integer
93 create_table
:clubs, :force => true do |t
|
97 create_table
:colnametests, :force => true do |t
|
98 t
.integer
:references, :null => false
101 create_table
:comments, :force => true do |t
|
102 t
.integer
:post_id, :null => false
103 t
.text
:body, :null => false
107 create_table
:companies, :force => true do |t
|
114 t
.integer
:rating, :default => 1
117 create_table
:computers, :force => true do |t
|
118 t
.integer
:developer, :null => false
119 t
.integer
:extendedWarranty, :null => false
123 create_table
:customers, :force => true do |t
|
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
132 create_table
:developers, :force => true do |t
|
134 t
.integer
:salary, :default => 70000
135 t
.datetime
:created_at
136 t
.datetime
:updated_at
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
143 t
.integer
:access_level, :default => 1
146 create_table
:edges, :force => true do |t
|
147 t
.column
:source_id, :integer, :null => false
148 t
.column
:sink_id, :integer, :null => false
150 add_index
:edges, [:source_id, :sink_id], :unique => true, :name => 'unique_edge_index'
153 create_table
:entrants, :force => true do |t
|
154 t
.string
:name, :null => false
155 t
.integer
:course_id, :null => false
158 create_table
:events, :force => true do |t
|
159 t
.string
:title, :limit => 5
162 create_table
:funny_jokes, :force => true do |t
|
166 create_table
:goofy_string_id, :force => true, :id => false do |t
|
167 t
.string
:id, :null => false
171 create_table
:items, :force => true do |t
|
172 t
.column
:name, :integer
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
182 create_table
:jobs, :force => true do |t
|
183 t
.integer
:ideal_reference_id
186 create_table
:keyboards, :force => true, :id => false do |t
|
187 t
.primary_key
:key_number
191 create_table
:legacy_things, :force => true do |t
|
192 t
.integer
:tps_report_number
193 t
.integer
:version, :null => false, :default => 0
196 create_table
:lock_without_defaults, :force => true do |t
|
197 t
.column
:lock_version, :integer
200 create_table
:lock_without_defaults_cust, :force => true do |t
|
201 t
.column
:custom_lock_version, :integer
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
210 create_table
:members, :force => true do |t
|
212 t
.integer
:member_type_id
215 create_table
:member_details, :force => true do |t
|
217 t
.integer
:organization_id
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
228 create_table
:member_types, :force => true do |t
|
232 create_table
:references, :force => true do |t
|
236 t
.integer
:lock_version, :default => 0
239 create_table
:minimalistics, :force => true do |t
|
242 create_table
:mixed_case_monkeys, :force => true, :id => false do |t
|
243 t
.primary_key
:monkeyID
247 create_table
:mixins, :force => true do |t
|
250 t
.datetime
:created_at
251 t
.datetime
:updated_at
258 create_table
:movies, :force => true, :id => false do |t
|
259 t
.primary_key
:movieid
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
272 create_table
:orders, :force => true do |t
|
274 t
.integer
:billing_customer_id
275 t
.integer
:shipping_customer_id
278 create_table
:organizations, :force => true do |t
|
282 create_table
:owners, :primary_key => :owner_id ,:force => true do |t
|
287 create_table
:paint_colors, :force => true do |t
|
288 t
.integer
:non_poly_one_id
291 create_table
:paint_textures, :force => true do |t
|
292 t
.integer
:non_poly_two_id
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
305 create_table
:parrots_pirates, :id => false, :force => true do |t
|
306 t
.column
:parrot_id, :integer
307 t
.column
:pirate_id, :integer
310 create_table
:parrots_treasures, :id => false, :force => true do |t
|
311 t
.column
:parrot_id, :integer
312 t
.column
:treasure_id, :integer
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
322 create_table
:pets, :primary_key => :pet_id ,:force => true do |t
|
324 t
.integer
:owner_id, :integer
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
334 create_table
:posts, :force => true do |t
|
336 t
.string
:title, :null => false
337 t
.text
:body, :null => false
339 t
.integer
:comments_count, :default => 0
340 t
.integer
:taggings_count, :default => 0
343 create_table
:price_estimates, :force => true do |t
|
344 t
.string
:estimate_of_type
345 t
.integer
:estimate_of_id
349 create_table
:projects, :force => true do |t
|
354 create_table
:readers, :force => true do |t
|
355 t
.integer
:post_id, :null => false
356 t
.integer
:person_id, :null => false
359 create_table
:shape_expressions, :force => true do |t
|
366 create_table
:ships, :force => true do |t
|
369 t
.datetime
:created_at
370 t
.datetime
:created_on
371 t
.datetime
:updated_at
372 t
.datetime
:updated_on
375 create_table
:ship_parts, :force => true do |t
|
380 create_table
:sponsors, :force => true do |t
|
382 t
.integer
:sponsorable_id
383 t
.string
:sponsorable_type
386 create_table
:subscribers, :force => true, :id => false do |t
|
387 t
.string
:nick, :null => false
390 add_index
:subscribers, :nick, :unique => true
392 create_table
:subscriptions, :force => true do |t
|
393 t
.string
:subscriber_id
397 create_table
:tasks, :force => true do |t
|
402 create_table
:topics, :force => true do |t
|
404 t
.string
:author_name
405 t
.string
:author_email_address
406 t
.datetime
:written_on
410 t
.boolean
:approved, :default => true
411 t
.integer
:replies_count, :default => 0
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
423 create_table
:tags, :force => true do |t
|
424 t
.column
:name, :string
425 t
.column
:taggings_count, :integer, :default => 0
428 create_table
:toys, :primary_key => :toy_id ,:force => true do |t
|
430 t
.integer
:pet_id, :integer
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
439 create_table
:vertices, :force => true do |t
|
440 t
.column
:label, :string
443 create_table
'warehouse-things', :force => true do |t
|
447 [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each
do |t
|
448 create_table(t
, :force => true) { }
451 create_table
:guids, :force => true do |t
|
452 t
.column
:key, :string
455 create_table
:integer_limits, :force => true do |t
|
456 t
.integer
:"c_int_without_limit"
458 t
.integer
:"c_int_#{i}", :limit => i
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
468 create_table
:fk_test_has_pk, :force => true do |t
|
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'})"