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
:books, :force => true do |t
|
59 t
.column
:name, :string
62 create_table
:booleantests, :force => true do |t
|
66 create_table
:categories, :force => true do |t
|
67 t
.string
:name, :null => false
69 t
.integer
:categorizations_count
72 create_table
:categories_posts, :force => true, :id => false do |t
|
73 t
.integer
:category_id, :null => false
74 t
.integer
:post_id, :null => false
77 create_table
:categorizations, :force => true do |t
|
78 t
.column
:category_id, :integer
79 t
.column
:post_id, :integer
80 t
.column
:author_id, :integer
83 create_table
:citations, :force => true do |t
|
84 t
.column
:book1_id, :integer
85 t
.column
:book2_id, :integer
88 create_table
:clubs, :force => true do |t
|
92 create_table
:colnametests, :force => true do |t
|
93 t
.integer
:references, :null => false
96 create_table
:comments, :force => true do |t
|
97 t
.integer
:post_id, :null => false
98 t
.text
:body, :null => false
102 create_table
:companies, :force => true do |t
|
109 t
.integer
:rating, :default => 1
112 create_table
:computers, :force => true do |t
|
113 t
.integer
:developer, :null => false
114 t
.integer
:extendedWarranty, :null => false
118 create_table
:customers, :force => true do |t
|
120 t
.integer
:balance, :default => 0
121 t
.string
:address_street
122 t
.string
:address_city
123 t
.string
:address_country
124 t
.string
:gps_location
127 create_table
:developers, :force => true do |t
|
129 t
.integer
:salary, :default => 70000
130 t
.datetime
:created_at
131 t
.datetime
:updated_at
134 create_table
:developers_projects, :force => true, :id => false do |t
|
135 t
.integer
:developer_id, :null => false
136 t
.integer
:project_id, :null => false
138 t
.integer
:access_level, :default => 1
141 create_table
:edges, :force => true do |t
|
142 t
.column
:source_id, :integer, :null => false
143 t
.column
:sink_id, :integer, :null => false
145 add_index
:edges, [:source_id, :sink_id], :unique => true, :name => 'unique_edge_index'
148 create_table
:entrants, :force => true do |t
|
149 t
.string
:name, :null => false
150 t
.integer
:course_id, :null => false
153 create_table
:funny_jokes, :force => true do |t
|
157 create_table
:items, :force => true do |t
|
158 t
.column
:name, :integer
161 create_table
:inept_wizards, :force => true do |t
|
162 t
.column
:name, :string, :null => false
163 t
.column
:city, :string, :null => false
164 t
.column
:type, :string
168 create_table
:jobs, :force => true do |t
|
169 t
.integer
:ideal_reference_id
172 create_table
:keyboards, :force => true, :id => false do |t
|
173 t
.primary_key
:key_number
177 create_table
:legacy_things, :force => true do |t
|
178 t
.integer
:tps_report_number
179 t
.integer
:version, :null => false, :default => 0
182 create_table
:lock_without_defaults, :force => true do |t
|
183 t
.column
:lock_version, :integer
186 create_table
:lock_without_defaults_cust, :force => true do |t
|
187 t
.column
:custom_lock_version, :integer
190 create_table
:mateys, :id => false, :force => true do |t
|
191 t
.column
:pirate_id, :integer
192 t
.column
:target_id, :integer
193 t
.column
:weight, :integer
196 create_table
:members, :force => true do |t
|
200 create_table
:member_details, :force => true do |t
|
202 t
.integer
:organization_id
206 create_table
:memberships, :force => true do |t
|
207 t
.datetime
:joined_on
208 t
.integer
:club_id, :member_id
209 t
.boolean
:favourite, :default => false
213 create_table
:references, :force => true do |t
|
217 t
.integer
:lock_version, :default => 0
220 create_table
:minimalistics, :force => true do |t
|
223 create_table
:mixed_case_monkeys, :force => true, :id => false do |t
|
224 t
.primary_key
:monkeyID
228 create_table
:mixins, :force => true do |t
|
231 t
.datetime
:created_at
232 t
.datetime
:updated_at
239 create_table
:movies, :force => true, :id => false do |t
|
240 t
.primary_key
:movieid
244 create_table
:numeric_data, :force => true do |t
|
245 t
.decimal
:bank_balance, :precision => 10, :scale => 2
246 t
.decimal
:big_bank_balance, :precision => 15, :scale => 2
247 t
.decimal
:world_population, :precision => 10, :scale => 0
248 t
.decimal
:my_house_population, :precision => 2, :scale => 0
249 t
.decimal
:decimal_number_with_default, :precision => 3, :scale => 2, :default => 2.78
252 create_table
:orders, :force => true do |t
|
254 t
.integer
:billing_customer_id
255 t
.integer
:shipping_customer_id
258 create_table
:organizations, :force => true do |t
|
262 create_table
:owners, :primary_key => :owner_id ,:force => true do |t
|
267 create_table
:paint_colors, :force => true do |t
|
268 t
.integer
:non_poly_one_id
271 create_table
:paint_textures, :force => true do |t
|
272 t
.integer
:non_poly_two_id
275 create_table
:parrots, :force => true do |t
|
276 t
.column
:name, :string
277 t
.column
:parrot_sti_class, :string
278 t
.column
:killer_id, :integer
279 t
.column
:created_at, :datetime
280 t
.column
:created_on, :datetime
281 t
.column
:updated_at, :datetime
282 t
.column
:updated_on, :datetime
285 create_table
:parrots_pirates, :id => false, :force => true do |t
|
286 t
.column
:parrot_id, :integer
287 t
.column
:pirate_id, :integer
290 create_table
:parrots_treasures, :id => false, :force => true do |t
|
291 t
.column
:parrot_id, :integer
292 t
.column
:treasure_id, :integer
295 create_table
:people, :force => true do |t
|
296 t
.string
:first_name, :null => false
297 t
.integer
:lock_version, :null => false, :default => 0
300 create_table
:pets, :primary_key => :pet_id ,:force => true do |t
|
302 t
.integer
:owner_id, :integer
305 create_table
:pirates, :force => true do |t
|
306 t
.column
:catchphrase, :string
307 t
.column
:parrot_id, :integer
308 t
.column
:created_on, :datetime
309 t
.column
:updated_on, :datetime
312 create_table
:posts, :force => true do |t
|
314 t
.string
:title, :null => false
315 t
.text
:body, :null => false
317 t
.integer
:comments_count, :default => 0
318 t
.integer
:taggings_count, :default => 0
321 create_table
:price_estimates, :force => true do |t
|
322 t
.string
:estimate_of_type
323 t
.integer
:estimate_of_id
327 create_table
:projects, :force => true do |t
|
332 create_table
:readers, :force => true do |t
|
333 t
.integer
:post_id, :null => false
334 t
.integer
:person_id, :null => false
337 create_table
:shape_expressions, :force => true do |t
|
344 create_table
:ships, :force => true do |t
|
346 t
.datetime
:created_at
347 t
.datetime
:created_on
348 t
.datetime
:updated_at
349 t
.datetime
:updated_on
352 create_table
:sponsors, :force => true do |t
|
354 t
.integer
:sponsorable_id
355 t
.string
:sponsorable_type
358 create_table
:subscribers, :force => true, :id => false do |t
|
359 t
.string
:nick, :null => false
362 add_index
:subscribers, :nick, :unique => true
364 create_table
:subscriptions, :force => true do |t
|
365 t
.string
:subscriber_id
369 create_table
:tasks, :force => true do |t
|
374 create_table
:topics, :force => true do |t
|
376 t
.string
:author_name
377 t
.string
:author_email_address
378 t
.datetime
:written_on
382 t
.boolean
:approved, :default => true
383 t
.integer
:replies_count, :default => 0
388 create_table
:taggings, :force => true do |t
|
389 t
.column
:tag_id, :integer
390 t
.column
:super_tag_id, :integer
391 t
.column
:taggable_type, :string
392 t
.column
:taggable_id, :integer
395 create_table
:tags, :force => true do |t
|
396 t
.column
:name, :string
397 t
.column
:taggings_count, :integer, :default => 0
400 create_table
:treasures, :force => true do |t
|
401 t
.column
:name, :string
402 t
.column
:looter_id, :integer
403 t
.column
:looter_type, :string
406 create_table
:vertices, :force => true do |t
|
407 t
.column
:label, :string
410 create_table
'warehouse-things', :force => true do |t
|
414 [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each
do |t
|
415 create_table(t
, :force => true) { }
418 create_table
:guids, :force => true do |t
|
419 t
.column
:key, :string
422 create_table
:integer_limits, :force => true do |t
|
423 t
.integer
:"c_int_without_limit"
425 t
.integer
:"c_int_#{i}", :limit => i
430 # fk_test_has_fk should be before fk_test_has_pk
431 create_table
:fk_test_has_fk, :force => true do |t
|
432 t
.integer
:fk_id, :null => false
435 create_table
:fk_test_has_pk, :force => true do |t
|
438 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'})"