Froze rails gems
[depot.git] / vendor / rails / activerecord / test / schema / schema.rb
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 :books, :force => true do |t|
59 t.column :name, :string
60 end
61
62 create_table :booleantests, :force => true do |t|
63 t.boolean :value
64 end
65
66 create_table :categories, :force => true do |t|
67 t.string :name, :null => false
68 t.string :type
69 t.integer :categorizations_count
70 end
71
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
75 end
76
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
81 end
82
83 create_table :citations, :force => true do |t|
84 t.column :book1_id, :integer
85 t.column :book2_id, :integer
86 end
87
88 create_table :clubs, :force => true do |t|
89 t.string :name
90 end
91
92 create_table :colnametests, :force => true do |t|
93 t.integer :references, :null => false
94 end
95
96 create_table :comments, :force => true do |t|
97 t.integer :post_id, :null => false
98 t.text :body, :null => false
99 t.string :type
100 end
101
102 create_table :companies, :force => true do |t|
103 t.string :type
104 t.string :ruby_type
105 t.integer :firm_id
106 t.string :firm_name
107 t.string :name
108 t.integer :client_of
109 t.integer :rating, :default => 1
110 end
111
112 create_table :computers, :force => true do |t|
113 t.integer :developer, :null => false
114 t.integer :extendedWarranty, :null => false
115 end
116
117
118 create_table :customers, :force => true do |t|
119 t.string :name
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
125 end
126
127 create_table :developers, :force => true do |t|
128 t.string :name
129 t.integer :salary, :default => 70000
130 t.datetime :created_at
131 t.datetime :updated_at
132 end
133
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
137 t.date :joined_on
138 t.integer :access_level, :default => 1
139 end
140
141 create_table :edges, :force => true do |t|
142 t.column :source_id, :integer, :null => false
143 t.column :sink_id, :integer, :null => false
144 end
145 add_index :edges, [:source_id, :sink_id], :unique => true, :name => 'unique_edge_index'
146
147
148 create_table :entrants, :force => true do |t|
149 t.string :name, :null => false
150 t.integer :course_id, :null => false
151 end
152
153 create_table :funny_jokes, :force => true do |t|
154 t.string :name
155 end
156
157 create_table :items, :force => true do |t|
158 t.column :name, :integer
159 end
160
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
165 end
166
167
168 create_table :jobs, :force => true do |t|
169 t.integer :ideal_reference_id
170 end
171
172 create_table :keyboards, :force => true, :id => false do |t|
173 t.primary_key :key_number
174 t.string :name
175 end
176
177 create_table :legacy_things, :force => true do |t|
178 t.integer :tps_report_number
179 t.integer :version, :null => false, :default => 0
180 end
181
182 create_table :lock_without_defaults, :force => true do |t|
183 t.column :lock_version, :integer
184 end
185
186 create_table :lock_without_defaults_cust, :force => true do |t|
187 t.column :custom_lock_version, :integer
188 end
189
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
194 end
195
196 create_table :members, :force => true do |t|
197 t.string :name
198 end
199
200 create_table :member_details, :force => true do |t|
201 t.integer :member_id
202 t.integer :organization_id
203 t.string :extra_data
204 end
205
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
210 t.string :type
211 end
212
213 create_table :references, :force => true do |t|
214 t.integer :person_id
215 t.integer :job_id
216 t.boolean :favourite
217 t.integer :lock_version, :default => 0
218 end
219
220 create_table :minimalistics, :force => true do |t|
221 end
222
223 create_table :mixed_case_monkeys, :force => true, :id => false do |t|
224 t.primary_key :monkeyID
225 t.integer :fleaCount
226 end
227
228 create_table :mixins, :force => true do |t|
229 t.integer :parent_id
230 t.integer :pos
231 t.datetime :created_at
232 t.datetime :updated_at
233 t.integer :lft
234 t.integer :rgt
235 t.integer :root_id
236 t.string :type
237 end
238
239 create_table :movies, :force => true, :id => false do |t|
240 t.primary_key :movieid
241 t.string :name
242 end
243
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
250 end
251
252 create_table :orders, :force => true do |t|
253 t.string :name
254 t.integer :billing_customer_id
255 t.integer :shipping_customer_id
256 end
257
258 create_table :organizations, :force => true do |t|
259 t.string :name
260 end
261
262 create_table :owners, :primary_key => :owner_id ,:force => true do |t|
263 t.string :name
264 end
265
266
267 create_table :paint_colors, :force => true do |t|
268 t.integer :non_poly_one_id
269 end
270
271 create_table :paint_textures, :force => true do |t|
272 t.integer :non_poly_two_id
273 end
274
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
283 end
284
285 create_table :parrots_pirates, :id => false, :force => true do |t|
286 t.column :parrot_id, :integer
287 t.column :pirate_id, :integer
288 end
289
290 create_table :parrots_treasures, :id => false, :force => true do |t|
291 t.column :parrot_id, :integer
292 t.column :treasure_id, :integer
293 end
294
295 create_table :people, :force => true do |t|
296 t.string :first_name, :null => false
297 t.integer :lock_version, :null => false, :default => 0
298 end
299
300 create_table :pets, :primary_key => :pet_id ,:force => true do |t|
301 t.string :name
302 t.integer :owner_id, :integer
303 end
304
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
310 end
311
312 create_table :posts, :force => true do |t|
313 t.integer :author_id
314 t.string :title, :null => false
315 t.text :body, :null => false
316 t.string :type
317 t.integer :comments_count, :default => 0
318 t.integer :taggings_count, :default => 0
319 end
320
321 create_table :price_estimates, :force => true do |t|
322 t.string :estimate_of_type
323 t.integer :estimate_of_id
324 t.integer :price
325 end
326
327 create_table :projects, :force => true do |t|
328 t.string :name
329 t.string :type
330 end
331
332 create_table :readers, :force => true do |t|
333 t.integer :post_id, :null => false
334 t.integer :person_id, :null => false
335 end
336
337 create_table :shape_expressions, :force => true do |t|
338 t.string :paint_type
339 t.integer :paint_id
340 t.string :shape_type
341 t.integer :shape_id
342 end
343
344 create_table :ships, :force => true do |t|
345 t.string :name
346 t.datetime :created_at
347 t.datetime :created_on
348 t.datetime :updated_at
349 t.datetime :updated_on
350 end
351
352 create_table :sponsors, :force => true do |t|
353 t.integer :club_id
354 t.integer :sponsorable_id
355 t.string :sponsorable_type
356 end
357
358 create_table :subscribers, :force => true, :id => false do |t|
359 t.string :nick, :null => false
360 t.string :name
361 end
362 add_index :subscribers, :nick, :unique => true
363
364 create_table :subscriptions, :force => true do |t|
365 t.string :subscriber_id
366 t.integer :book_id
367 end
368
369 create_table :tasks, :force => true do |t|
370 t.datetime :starting
371 t.datetime :ending
372 end
373
374 create_table :topics, :force => true do |t|
375 t.string :title
376 t.string :author_name
377 t.string :author_email_address
378 t.datetime :written_on
379 t.time :bonus_time
380 t.date :last_read
381 t.text :content
382 t.boolean :approved, :default => true
383 t.integer :replies_count, :default => 0
384 t.integer :parent_id
385 t.string :type
386 end
387
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
393 end
394
395 create_table :tags, :force => true do |t|
396 t.column :name, :string
397 t.column :taggings_count, :integer, :default => 0
398 end
399
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
404 end
405
406 create_table :vertices, :force => true do |t|
407 t.column :label, :string
408 end
409
410 create_table 'warehouse-things', :force => true do |t|
411 t.integer :value
412 end
413
414 [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each do |t|
415 create_table(t, :force => true) { }
416 end
417
418 create_table :guids, :force => true do |t|
419 t.column :key, :string
420 end
421
422 create_table :integer_limits, :force => true do |t|
423 t.integer :"c_int_without_limit"
424 (1..8).each do |i|
425 t.integer :"c_int_#{i}", :limit => i
426 end
427 end
428
429 except 'SQLite' do
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
433 end
434
435 create_table :fk_test_has_pk, :force => true do |t|
436 end
437
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'})"
439 end
440 end