ibm_db 3.0.4-x86-mingw32 → 3.0.5-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +4 -1
  3. data/LICENSE +1 -1
  4. data/MANIFEST +14 -14
  5. data/README +225 -225
  6. data/ext/Makefile.nt32 +181 -181
  7. data/ext/Makefile.nt32.191 +212 -212
  8. data/ext/extconf.rb +291 -291
  9. data/ext/ibm_db.c +11887 -11884
  10. data/ext/ruby_ibm_db.h +241 -241
  11. data/ext/ruby_ibm_db_cli.c +866 -866
  12. data/ext/ruby_ibm_db_cli.h +500 -500
  13. data/init.rb +41 -41
  14. data/lib/IBM_DB.rb +27 -27
  15. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +3177 -3177
  16. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +1 -1
  17. data/lib/active_record/vendor/db2-i5-zOS.yaml +328 -328
  18. data/lib/mswin32/ibm_db.rb +122 -122
  19. data/lib/mswin32/rb21x/i386/ibm_db.so +0 -0
  20. data/lib/mswin32/rb22x/i386/ibm_db.so +0 -0
  21. data/lib/mswin32/rb23x/i386/ibm_db.so +0 -0
  22. data/test/active_record/connection_adapters/fake_adapter.rb +46 -46
  23. data/test/assets/example.log +1 -1
  24. data/test/assets/test.txt +1 -1
  25. data/test/cases/adapter_test.rb +276 -261
  26. data/test/cases/aggregations_test.rb +158 -158
  27. data/test/cases/ar_schema_test.rb +161 -161
  28. data/test/cases/associations/association_scope_test.rb +21 -21
  29. data/test/cases/associations/belongs_to_associations_test.rb +1029 -1029
  30. data/test/cases/associations/callbacks_test.rb +192 -192
  31. data/test/cases/associations/cascaded_eager_loading_test.rb +188 -188
  32. data/test/cases/associations/deprecated_counter_cache_on_has_many_through_test.rb +26 -26
  33. data/test/cases/associations/eager_load_includes_full_sti_class_test.rb +36 -36
  34. data/test/cases/associations/eager_load_nested_include_test.rb +128 -128
  35. data/test/cases/associations/eager_singularization_test.rb +148 -148
  36. data/test/cases/associations/eager_test.rb +1429 -1411
  37. data/test/cases/associations/extension_test.rb +82 -82
  38. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +972 -932
  39. data/test/cases/associations/has_many_associations_test.rb +2182 -2162
  40. data/test/cases/associations/has_many_through_associations_test.rb +1204 -1204
  41. data/test/cases/associations/has_one_associations_test.rb +610 -610
  42. data/test/cases/associations/has_one_through_associations_test.rb +380 -380
  43. data/test/cases/associations/inner_join_association_test.rb +139 -139
  44. data/test/cases/associations/inverse_associations_test.rb +706 -693
  45. data/test/cases/associations/join_model_test.rb +754 -754
  46. data/test/cases/associations/nested_through_associations_test.rb +579 -579
  47. data/test/cases/associations/required_test.rb +82 -82
  48. data/test/cases/associations_test.rb +380 -380
  49. data/test/cases/attribute_decorators_test.rb +125 -125
  50. data/test/cases/attribute_methods/read_test.rb +60 -60
  51. data/test/cases/attribute_methods/serialization_test.rb +29 -29
  52. data/test/cases/attribute_methods_test.rb +952 -952
  53. data/test/cases/attribute_set_test.rb +210 -200
  54. data/test/cases/attribute_test.rb +180 -180
  55. data/test/cases/attributes_test.rb +136 -136
  56. data/test/cases/autosave_association_test.rb +1595 -1595
  57. data/test/cases/base_test.rb +1664 -1638
  58. data/test/cases/batches_test.rb +212 -212
  59. data/test/cases/binary_test.rb +52 -52
  60. data/test/cases/bind_parameter_test.rb +100 -100
  61. data/test/cases/calculations_test.rb +646 -646
  62. data/test/cases/callbacks_test.rb +543 -543
  63. data/test/cases/clone_test.rb +40 -40
  64. data/test/cases/coders/yaml_column_test.rb +63 -63
  65. data/test/cases/column_alias_test.rb +17 -17
  66. data/test/cases/column_definition_test.rb +123 -123
  67. data/test/cases/connection_adapters/adapter_leasing_test.rb +54 -54
  68. data/test/cases/connection_adapters/connection_handler_test.rb +53 -53
  69. data/test/cases/connection_adapters/connection_specification_test.rb +12 -12
  70. data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +293 -293
  71. data/test/cases/connection_adapters/mysql_type_lookup_test.rb +65 -65
  72. data/test/cases/connection_adapters/quoting_test.rb +13 -13
  73. data/test/cases/connection_adapters/schema_cache_test.rb +56 -56
  74. data/test/cases/connection_adapters/type_lookup_test.rb +110 -110
  75. data/test/cases/connection_management_test.rb +122 -122
  76. data/test/cases/connection_pool_test.rb +346 -346
  77. data/test/cases/connection_specification/resolver_test.rb +116 -116
  78. data/test/cases/core_test.rb +112 -112
  79. data/test/cases/counter_cache_test.rb +209 -209
  80. data/test/cases/custom_locking_test.rb +17 -17
  81. data/test/cases/database_statements_test.rb +19 -19
  82. data/test/cases/date_time_test.rb +61 -61
  83. data/test/cases/defaults_test.rb +223 -223
  84. data/test/cases/dirty_test.rb +785 -775
  85. data/test/cases/disconnected_test.rb +28 -28
  86. data/test/cases/dup_test.rb +157 -157
  87. data/test/cases/enum_test.rb +290 -290
  88. data/test/cases/explain_subscriber_test.rb +64 -64
  89. data/test/cases/explain_test.rb +76 -76
  90. data/test/cases/finder_respond_to_test.rb +60 -60
  91. data/test/cases/finder_test.rb +1169 -1166
  92. data/test/cases/fixture_set/file_test.rb +138 -138
  93. data/test/cases/fixtures_test.rb +908 -897
  94. data/test/cases/forbidden_attributes_protection_test.rb +99 -99
  95. data/test/cases/habtm_destroy_order_test.rb +61 -61
  96. data/test/cases/helper.rb +210 -210
  97. data/test/cases/hot_compatibility_test.rb +54 -54
  98. data/test/cases/i18n_test.rb +45 -45
  99. data/test/cases/inheritance_test.rb +375 -375
  100. data/test/cases/integration_test.rb +139 -139
  101. data/test/cases/invalid_connection_test.rb +22 -22
  102. data/test/cases/invalid_date_test.rb +32 -32
  103. data/test/cases/invertible_migration_test.rb +295 -295
  104. data/test/cases/json_serialization_test.rb +302 -302
  105. data/test/cases/locking_test.rb +477 -477
  106. data/test/cases/log_subscriber_test.rb +136 -136
  107. data/test/cases/migration/change_schema_test - Copy.rb +448 -448
  108. data/test/cases/migration/change_schema_test.rb +512 -472
  109. data/test/cases/migration/change_table_test.rb +224 -224
  110. data/test/cases/migration/column_attributes_test.rb +192 -192
  111. data/test/cases/migration/column_positioning_test.rb +56 -56
  112. data/test/cases/migration/columns_test.rb +304 -304
  113. data/test/cases/migration/command_recorder_test.rb +305 -305
  114. data/test/cases/migration/create_join_table_test.rb +148 -148
  115. data/test/cases/migration/foreign_key_test - Changed.rb +325 -325
  116. data/test/cases/migration/foreign_key_test.rb +328 -360
  117. data/test/cases/migration/helper.rb +39 -39
  118. data/test/cases/migration/index_test.rb +216 -216
  119. data/test/cases/migration/logger_test.rb +36 -36
  120. data/test/cases/migration/pending_migrations_test.rb +53 -53
  121. data/test/cases/migration/references_foreign_key_test.rb +169 -214
  122. data/test/cases/migration/references_index_test.rb +101 -101
  123. data/test/cases/migration/references_statements_test.rb +116 -116
  124. data/test/cases/migration/rename_table_test.rb +93 -93
  125. data/test/cases/migration/table_and_index_test.rb +24 -24
  126. data/test/cases/migration_test.rb +959 -959
  127. data/test/cases/migrator_test.rb +388 -388
  128. data/test/cases/mixin_test.rb +70 -70
  129. data/test/cases/modules_test.rb +173 -173
  130. data/test/cases/multiparameter_attributes_test.rb +350 -350
  131. data/test/cases/multiple_db_test.rb +115 -115
  132. data/test/cases/nested_attributes_test.rb +1070 -1057
  133. data/test/cases/nested_attributes_with_callbacks_test.rb +144 -144
  134. data/test/cases/persistence_test.rb +909 -909
  135. data/test/cases/pooled_connections_test.rb +81 -81
  136. data/test/cases/primary_keys_test.rb +237 -237
  137. data/test/cases/query_cache_test.rb +326 -326
  138. data/test/cases/quoting_test.rb +156 -156
  139. data/test/cases/readonly_test.rb +118 -118
  140. data/test/cases/reaper_test.rb +85 -85
  141. data/test/cases/reflection_test.rb +463 -454
  142. data/test/cases/relation/delegation_test.rb +68 -68
  143. data/test/cases/relation/merging_test.rb +161 -161
  144. data/test/cases/relation/mutation_test.rb +165 -165
  145. data/test/cases/relation/predicate_builder_test.rb +14 -14
  146. data/test/cases/relation/where_chain_test.rb +181 -181
  147. data/test/cases/relation/where_test.rb +300 -300
  148. data/test/cases/relation/where_test2.rb +36 -36
  149. data/test/cases/relation_test.rb +319 -297
  150. data/test/cases/relations_test.rb +1815 -1815
  151. data/test/cases/reload_models_test.rb +22 -22
  152. data/test/cases/result_test.rb +80 -80
  153. data/test/cases/sanitize_test.rb +83 -83
  154. data/test/cases/schema_dumper_test.rb +463 -463
  155. data/test/cases/scoping/default_scoping_test.rb +454 -454
  156. data/test/cases/scoping/named_scoping_test.rb +524 -524
  157. data/test/cases/scoping/relation_scoping_test.rb +357 -357
  158. data/test/cases/serialization_test.rb +104 -104
  159. data/test/cases/serialized_attribute_test.rb +277 -277
  160. data/test/cases/statement_cache_test.rb +98 -98
  161. data/test/cases/store_test.rb +194 -194
  162. data/test/cases/tasks/database_tasks_test.rb +398 -396
  163. data/test/cases/tasks/mysql_rake_test.rb +324 -311
  164. data/test/cases/tasks/postgresql_rake_test.rb +250 -245
  165. data/test/cases/tasks/sqlite_rake_test.rb +193 -193
  166. data/test/cases/test_case.rb +123 -123
  167. data/test/cases/timestamp_test.rb +467 -468
  168. data/test/cases/transaction_callbacks_test.rb +452 -452
  169. data/test/cases/transaction_isolation_test.rb +106 -106
  170. data/test/cases/transactions_test.rb +817 -817
  171. data/test/cases/type/decimal_test.rb +56 -51
  172. data/test/cases/type/integer_test.rb +121 -121
  173. data/test/cases/type/string_test.rb +36 -36
  174. data/test/cases/type/type_map_test.rb +177 -177
  175. data/test/cases/type/unsigned_integer_test.rb +18 -18
  176. data/test/cases/types_test.rb +141 -141
  177. data/test/cases/unconnected_test.rb +33 -33
  178. data/test/cases/validations/association_validation_test.rb +86 -86
  179. data/test/cases/validations/i18n_generate_message_validation_test.rb +84 -84
  180. data/test/cases/validations/i18n_validation_test.rb +90 -90
  181. data/test/cases/validations/length_validation_test.rb +47 -47
  182. data/test/cases/validations/presence_validation_test.rb +68 -68
  183. data/test/cases/validations/uniqueness_validation_test.rb +457 -434
  184. data/test/cases/validations_repair_helper.rb +23 -23
  185. data/test/cases/validations_test.rb +165 -165
  186. data/test/cases/view_test.rb +119 -113
  187. data/test/cases/xml_serialization_test.rb +457 -457
  188. data/test/cases/yaml_serialization_test.rb +126 -86
  189. data/test/config.rb +5 -5
  190. data/test/config.yml +154 -154
  191. data/test/connections/native_ibm_db/connection.rb +43 -43
  192. data/test/fixtures/accounts.yml +29 -29
  193. data/test/fixtures/admin/accounts.yml +2 -2
  194. data/test/fixtures/admin/randomly_named_a9.yml +7 -7
  195. data/test/fixtures/admin/randomly_named_b0.yml +7 -7
  196. data/test/fixtures/admin/users.yml +10 -10
  197. data/test/fixtures/author_addresses.yml +17 -17
  198. data/test/fixtures/author_favorites.yml +3 -3
  199. data/test/fixtures/authors.yml +23 -23
  200. data/test/fixtures/binaries.yml +133 -133
  201. data/test/fixtures/books.yml +11 -11
  202. data/test/fixtures/bulbs.yml +5 -5
  203. data/test/fixtures/cars.yml +9 -9
  204. data/test/fixtures/categories.yml +19 -19
  205. data/test/fixtures/categories/special_categories.yml +9 -9
  206. data/test/fixtures/categories/subsubdir/arbitrary_filename.yml +4 -4
  207. data/test/fixtures/categories_ordered.yml +7 -7
  208. data/test/fixtures/categories_posts.yml +31 -31
  209. data/test/fixtures/categorizations.yml +23 -23
  210. data/test/fixtures/clubs.yml +8 -8
  211. data/test/fixtures/collections.yml +3 -3
  212. data/test/fixtures/colleges.yml +3 -3
  213. data/test/fixtures/comments.yml +65 -65
  214. data/test/fixtures/companies.yml +67 -67
  215. data/test/fixtures/computers.yml +10 -10
  216. data/test/fixtures/courses.yml +8 -8
  217. data/test/fixtures/customers.yml +25 -25
  218. data/test/fixtures/dashboards.yml +6 -6
  219. data/test/fixtures/developers.yml +21 -21
  220. data/test/fixtures/developers_projects.yml +16 -16
  221. data/test/fixtures/dog_lovers.yml +7 -7
  222. data/test/fixtures/dogs.yml +4 -4
  223. data/test/fixtures/doubloons.yml +3 -3
  224. data/test/fixtures/edges.yml +5 -5
  225. data/test/fixtures/entrants.yml +14 -14
  226. data/test/fixtures/essays.yml +6 -6
  227. data/test/fixtures/faces.yml +11 -11
  228. data/test/fixtures/fk_test_has_fk.yml +3 -3
  229. data/test/fixtures/fk_test_has_pk.yml +1 -1
  230. data/test/fixtures/friendships.yml +4 -4
  231. data/test/fixtures/funny_jokes.yml +10 -10
  232. data/test/fixtures/interests.yml +33 -33
  233. data/test/fixtures/items.yml +3 -3
  234. data/test/fixtures/jobs.yml +7 -7
  235. data/test/fixtures/legacy_things.yml +3 -3
  236. data/test/fixtures/mateys.yml +4 -4
  237. data/test/fixtures/member_details.yml +8 -8
  238. data/test/fixtures/member_types.yml +6 -6
  239. data/test/fixtures/members.yml +11 -11
  240. data/test/fixtures/memberships.yml +34 -34
  241. data/test/fixtures/men.yml +5 -5
  242. data/test/fixtures/minimalistics.yml +2 -2
  243. data/test/fixtures/minivans.yml +5 -5
  244. data/test/fixtures/mixed_case_monkeys.yml +6 -6
  245. data/test/fixtures/mixins.yml +29 -29
  246. data/test/fixtures/movies.yml +7 -7
  247. data/test/fixtures/naked/csv/accounts.csv +1 -1
  248. data/test/fixtures/naked/yml/accounts.yml +1 -1
  249. data/test/fixtures/naked/yml/companies.yml +1 -1
  250. data/test/fixtures/naked/yml/courses.yml +1 -1
  251. data/test/fixtures/organizations.yml +5 -5
  252. data/test/fixtures/other_topics.yml +42 -42
  253. data/test/fixtures/owners.yml +9 -9
  254. data/test/fixtures/parrots.yml +27 -27
  255. data/test/fixtures/parrots_pirates.yml +7 -7
  256. data/test/fixtures/people.yml +24 -24
  257. data/test/fixtures/peoples_treasures.yml +3 -3
  258. data/test/fixtures/pets.yml +19 -19
  259. data/test/fixtures/pirates.yml +12 -12
  260. data/test/fixtures/posts.yml +80 -80
  261. data/test/fixtures/price_estimates.yml +7 -7
  262. data/test/fixtures/products.yml +4 -4
  263. data/test/fixtures/projects.yml +7 -7
  264. data/test/fixtures/randomly_named_a9.yml +7 -7
  265. data/test/fixtures/ratings.yml +14 -14
  266. data/test/fixtures/readers.yml +11 -11
  267. data/test/fixtures/references.yml +17 -17
  268. data/test/fixtures/reserved_words/distinct.yml +5 -5
  269. data/test/fixtures/reserved_words/distinct_select.yml +11 -11
  270. data/test/fixtures/reserved_words/group.yml +14 -14
  271. data/test/fixtures/reserved_words/select.yml +8 -8
  272. data/test/fixtures/reserved_words/values.yml +7 -7
  273. data/test/fixtures/ships.yml +6 -6
  274. data/test/fixtures/speedometers.yml +8 -8
  275. data/test/fixtures/sponsors.yml +12 -12
  276. data/test/fixtures/string_key_objects.yml +7 -7
  277. data/test/fixtures/subscribers.yml +10 -10
  278. data/test/fixtures/subscriptions.yml +12 -12
  279. data/test/fixtures/taggings.yml +78 -78
  280. data/test/fixtures/tags.yml +11 -11
  281. data/test/fixtures/tasks.yml +7 -7
  282. data/test/fixtures/teapots.yml +3 -3
  283. data/test/fixtures/to_be_linked/accounts.yml +2 -2
  284. data/test/fixtures/to_be_linked/users.yml +10 -10
  285. data/test/fixtures/topics.yml +49 -49
  286. data/test/fixtures/toys.yml +14 -14
  287. data/test/fixtures/traffic_lights.yml +9 -9
  288. data/test/fixtures/treasures.yml +10 -10
  289. data/test/fixtures/uuid_children.yml +3 -3
  290. data/test/fixtures/uuid_parents.yml +2 -2
  291. data/test/fixtures/variants.yml +4 -4
  292. data/test/fixtures/vegetables.yml +19 -19
  293. data/test/fixtures/vertices.yml +3 -3
  294. data/test/fixtures/warehouse_things.yml +2 -2
  295. data/test/fixtures/zines.yml +5 -5
  296. data/test/ibm_db_test.rb +24 -24
  297. data/test/migrations/10_urban/9_add_expressions.rb +11 -11
  298. data/test/migrations/decimal/1_give_me_big_numbers.rb +15 -15
  299. data/test/migrations/magic/1_currencies_have_symbols.rb +12 -12
  300. data/test/migrations/missing/1000_people_have_middle_names.rb +8 -8
  301. data/test/migrations/missing/1_people_have_last_names.rb +8 -8
  302. data/test/migrations/missing/3_we_need_reminders.rb +11 -11
  303. data/test/migrations/missing/4_innocent_jointable.rb +11 -11
  304. data/test/migrations/rename/1_we_need_things.rb +10 -10
  305. data/test/migrations/rename/2_rename_things.rb +8 -8
  306. data/test/migrations/to_copy/1_people_have_hobbies.rb +9 -9
  307. data/test/migrations/to_copy/2_people_have_descriptions.rb +9 -9
  308. data/test/migrations/to_copy2/1_create_articles.rb +7 -7
  309. data/test/migrations/to_copy2/2_create_comments.rb +7 -7
  310. data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +9 -9
  311. data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +9 -9
  312. data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +9 -9
  313. data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +7 -7
  314. data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +7 -7
  315. data/test/migrations/valid/1_valid_people_have_last_names.rb +9 -9
  316. data/test/migrations/valid/2_we_need_reminders.rb +11 -11
  317. data/test/migrations/valid/3_innocent_jointable.rb +11 -11
  318. data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +9 -9
  319. data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +11 -11
  320. data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +11 -11
  321. data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +9 -9
  322. data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +12 -12
  323. data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +12 -12
  324. data/test/migrations/version_check/20131219224947_migration_version_check.rb +8 -8
  325. data/test/models/admin.rb +4 -4
  326. data/test/models/admin/account.rb +2 -2
  327. data/test/models/admin/randomly_named_c1.rb +3 -3
  328. data/test/models/admin/user.rb +40 -40
  329. data/test/models/aircraft.rb +4 -4
  330. data/test/models/arunit2_model.rb +3 -3
  331. data/test/models/author.rb +212 -212
  332. data/test/models/auto_id.rb +4 -4
  333. data/test/models/autoloadable/extra_firm.rb +2 -2
  334. data/test/models/binary.rb +1 -1
  335. data/test/models/bird.rb +12 -12
  336. data/test/models/book.rb +18 -18
  337. data/test/models/boolean.rb +2 -2
  338. data/test/models/bulb.rb +51 -51
  339. data/test/models/cake_designer.rb +3 -3
  340. data/test/models/car.rb +26 -26
  341. data/test/models/carrier.rb +2 -2
  342. data/test/models/categorization.rb +19 -19
  343. data/test/models/category.rb +35 -35
  344. data/test/models/chef.rb +7 -3
  345. data/test/models/citation.rb +3 -3
  346. data/test/models/club.rb +23 -23
  347. data/test/models/college.rb +10 -10
  348. data/test/models/column.rb +3 -3
  349. data/test/models/column_name.rb +3 -3
  350. data/test/models/comment.rb +64 -64
  351. data/test/models/company.rb +228 -225
  352. data/test/models/company_in_module.rb +98 -98
  353. data/test/models/computer.rb +3 -3
  354. data/test/models/contact.rb +41 -41
  355. data/test/models/contract.rb +20 -20
  356. data/test/models/country.rb +7 -7
  357. data/test/models/course.rb +6 -6
  358. data/test/models/customer.rb +77 -77
  359. data/test/models/customer_carrier.rb +14 -14
  360. data/test/models/dashboard.rb +3 -3
  361. data/test/models/default.rb +2 -2
  362. data/test/models/department.rb +4 -4
  363. data/test/models/developer.rb +255 -252
  364. data/test/models/dog.rb +5 -5
  365. data/test/models/dog_lover.rb +5 -5
  366. data/test/models/doubloon.rb +12 -12
  367. data/test/models/drink_designer.rb +3 -3
  368. data/test/models/edge.rb +5 -5
  369. data/test/models/electron.rb +5 -5
  370. data/test/models/engine.rb +4 -4
  371. data/test/models/entrant.rb +3 -3
  372. data/test/models/essay.rb +5 -5
  373. data/test/models/event.rb +2 -2
  374. data/test/models/eye.rb +37 -37
  375. data/test/models/face.rb +9 -9
  376. data/test/models/friendship.rb +6 -6
  377. data/test/models/guid.rb +1 -1
  378. data/test/models/hotel.rb +9 -6
  379. data/test/models/image.rb +3 -3
  380. data/test/models/interest.rb +5 -5
  381. data/test/models/invoice.rb +4 -4
  382. data/test/models/item.rb +7 -7
  383. data/test/models/job.rb +7 -7
  384. data/test/models/joke.rb +7 -7
  385. data/test/models/keyboard.rb +3 -3
  386. data/test/models/legacy_thing.rb +3 -3
  387. data/test/models/lesson.rb +11 -11
  388. data/test/models/line_item.rb +3 -3
  389. data/test/models/liquid.rb +4 -4
  390. data/test/models/man.rb +11 -11
  391. data/test/models/matey.rb +4 -4
  392. data/test/models/member.rb +41 -41
  393. data/test/models/member_detail.rb +7 -7
  394. data/test/models/member_type.rb +3 -3
  395. data/test/models/membership.rb +35 -35
  396. data/test/models/minimalistic.rb +2 -2
  397. data/test/models/minivan.rb +9 -9
  398. data/test/models/mixed_case_monkey.rb +3 -3
  399. data/test/models/molecule.rb +6 -6
  400. data/test/models/movie.rb +5 -5
  401. data/test/models/order.rb +4 -4
  402. data/test/models/organization.rb +14 -14
  403. data/test/models/owner.rb +34 -34
  404. data/test/models/parrot.rb +29 -29
  405. data/test/models/person.rb +143 -143
  406. data/test/models/personal_legacy_thing.rb +4 -4
  407. data/test/models/pet.rb +15 -15
  408. data/test/models/pirate.rb +92 -92
  409. data/test/models/possession.rb +3 -3
  410. data/test/models/post.rb +264 -264
  411. data/test/models/price_estimate.rb +4 -4
  412. data/test/models/professor.rb +5 -5
  413. data/test/models/project.rb +31 -29
  414. data/test/models/publisher.rb +2 -2
  415. data/test/models/publisher/article.rb +4 -4
  416. data/test/models/publisher/magazine.rb +3 -3
  417. data/test/models/randomly_named_c1.rb +3 -3
  418. data/test/models/rating.rb +4 -4
  419. data/test/models/reader.rb +23 -23
  420. data/test/models/record.rb +2 -2
  421. data/test/models/reference.rb +22 -22
  422. data/test/models/reply.rb +61 -61
  423. data/test/models/ship.rb +33 -33
  424. data/test/models/ship_part.rb +7 -7
  425. data/test/models/shop.rb +17 -17
  426. data/test/models/shop_account.rb +6 -6
  427. data/test/models/speedometer.rb +6 -6
  428. data/test/models/sponsor.rb +7 -7
  429. data/test/models/string_key_object.rb +3 -3
  430. data/test/models/student.rb +4 -4
  431. data/test/models/subject.rb +16 -16
  432. data/test/models/subscriber.rb +8 -8
  433. data/test/models/subscription.rb +4 -4
  434. data/test/models/tag.rb +7 -7
  435. data/test/models/tagging.rb +13 -13
  436. data/test/models/task.rb +5 -5
  437. data/test/models/topic.rb +124 -124
  438. data/test/models/toy.rb +6 -6
  439. data/test/models/traffic_light.rb +4 -4
  440. data/test/models/treasure.rb +14 -14
  441. data/test/models/treaty.rb +7 -7
  442. data/test/models/tyre.rb +11 -11
  443. data/test/models/uuid_child.rb +3 -3
  444. data/test/models/uuid_parent.rb +3 -3
  445. data/test/models/vegetables.rb +24 -24
  446. data/test/models/vehicle.rb +6 -6
  447. data/test/models/vertex.rb +9 -9
  448. data/test/models/warehouse_thing.rb +5 -5
  449. data/test/models/wheel.rb +3 -3
  450. data/test/models/without_table.rb +3 -3
  451. data/test/models/zine.rb +3 -3
  452. data/test/schema/mysql2_specific_schema.rb +58 -58
  453. data/test/schema/mysql_specific_schema.rb +70 -70
  454. data/test/schema/oracle_specific_schema.rb +43 -43
  455. data/test/schema/postgresql_specific_schema.rb +202 -202
  456. data/test/schema/schema.rb +952 -938
  457. data/test/schema/sqlite_specific_schema.rb +21 -21
  458. data/test/support/config.rb +43 -43
  459. data/test/support/connection.rb +22 -22
  460. data/test/support/connection_helper.rb +14 -14
  461. data/test/support/ddl_helper.rb +8 -8
  462. data/test/support/schema_dumping_helper.rb +20 -20
  463. metadata +2 -2
@@ -1,938 +1,952 @@
1
- # encoding: utf-8
2
-
3
- ActiveRecord::Schema.define do
4
- def except(adapter_names_to_exclude)
5
- unless [adapter_names_to_exclude].flatten.include?(adapter_name)
6
- yield
7
- end
8
- end
9
-
10
- #put adapter specific setup here
11
- case adapter_name
12
- when "PostgreSQL"
13
- enable_extension!('uuid-ossp', ActiveRecord::Base.connection)
14
- create_table :uuid_parents, id: :uuid, force: true do |t|
15
- t.string :name
16
- end
17
- create_table :uuid_children, id: :uuid, force: true do |t|
18
- t.string :name
19
- t.uuid :uuid_parent_id
20
- end
21
- end
22
-
23
-
24
- # ------------------------------------------------------------------- #
25
- # #
26
- # Please keep these create table statements in alphabetical order #
27
- # unless the ordering matters. In which case, define them below. #
28
- # #
29
- # ------------------------------------------------------------------- #
30
-
31
- create_table :accounts, force: true do |t|
32
- t.integer :firm_id
33
- t.string :firm_name
34
- t.integer :credit_limit
35
- end
36
-
37
- create_table :admin_accounts, force: true do |t|
38
- t.string :name
39
- end
40
-
41
- create_table :admin_users, force: true do |t|
42
- t.string :name
43
- t.string :settings, null: true, limit: 1024
44
- # MySQL does not allow default values for blobs. Fake it out with a
45
- # big varchar below.
46
- t.string :preferences, null: true, default: '', limit: 1024
47
- t.string :json_data, null: true, limit: 1024
48
- t.string :json_data_empty, null: true, default: "", limit: 1024
49
- t.text :params
50
- t.references :account
51
- end
52
-
53
- create_table :aircraft, force: true do |t|
54
- t.string :name
55
- end
56
-
57
- create_table :articles, force: true do |t|
58
- end
59
-
60
- create_table :articles_magazines, force: true do |t|
61
- t.references :article
62
- t.references :magazine
63
- end
64
-
65
- create_table :articles_tags, force: true do |t|
66
- t.references :article
67
- t.references :tag
68
- end
69
-
70
- create_table :audit_logs, force: true do |t|
71
- t.column :message, :string, null: false
72
- t.column :developer_id, :integer, null: false
73
- t.integer :unvalidated_developer_id
74
- end
75
-
76
- create_table :authors, force: true do |t|
77
- t.string :name, null: false
78
- t.integer :author_address_id
79
- t.integer :author_address_extra_id
80
- t.string :organization_id
81
- t.string :owned_essay_id
82
- end
83
-
84
- create_table :author_addresses, force: true do |t|
85
- end
86
-
87
- add_foreign_key :authors, :author_addresses
88
-
89
- create_table :author_favorites, force: true do |t|
90
- t.column :author_id, :integer
91
- t.column :favorite_author_id, :integer
92
- end
93
-
94
- create_table :auto_id_tests, force: true, id: false do |t|
95
- t.primary_key :auto_id
96
- t.integer :value
97
- end
98
-
99
- create_table :binaries, force: true do |t|
100
- t.string :name
101
- t.binary :data
102
- t.binary :short_data, limit: 2048
103
- end
104
-
105
- create_table :birds, force: true do |t|
106
- t.string :name
107
- t.string :color
108
- t.integer :pirate_id
109
- end
110
-
111
- create_table :books, force: true do |t|
112
- t.integer :author_id
113
- t.string :format
114
- t.column :name, :string
115
- t.column :status, :integer, default: 0
116
- t.column :read_status, :integer, default: 0
117
- t.column :nullable_status, :integer
118
- end
119
-
120
- create_table :booleans, force: true do |t|
121
- t.boolean :value
122
- t.boolean :has_fun, null: false, default: false
123
- end
124
-
125
- create_table :bulbs, force: true do |t|
126
- t.integer :car_id
127
- t.string :name
128
- t.boolean :frickinawesome
129
- t.string :color
130
- end
131
-
132
- create_table "camelcase", force: true do |t|
133
- t.string :name
134
- end
135
-
136
- create_table :cars, force: true do |t|
137
- t.string :name
138
- t.integer :engines_count
139
- t.integer :wheels_count
140
- t.column :lock_version, :integer, null: false, default: 0
141
- t.timestamps null: false
142
- end
143
-
144
- create_table :carriers, force: true
145
-
146
- create_table :categories, force: true do |t|
147
- t.string :name, null: false
148
- t.string :type
149
- t.integer :categorizations_count
150
- end
151
-
152
- create_table :categories_posts, force: true, id: false do |t|
153
- t.integer :category_id, null: false
154
- t.integer :post_id, null: false
155
- end
156
-
157
- create_table :categorizations, force: true do |t|
158
- t.column :category_id, :integer
159
- t.string :named_category_name
160
- t.column :post_id, :integer
161
- t.column :author_id, :integer
162
- t.column :special, :boolean
163
- end
164
-
165
- create_table :citations, force: true do |t|
166
- t.column :book1_id, :integer
167
- t.column :book2_id, :integer
168
- end
169
-
170
- create_table :clubs, force: true do |t|
171
- t.string :name
172
- t.integer :category_id
173
- end
174
-
175
- create_table :collections, force: true do |t|
176
- t.string :name
177
- end
178
-
179
- create_table :colnametests, force: true do |t|
180
- t.integer :references, null: false
181
- end
182
-
183
- create_table :columns, force: true do |t|
184
- t.references :record
185
- end
186
-
187
- create_table :comments, force: true do |t|
188
- t.integer :post_id, null: false
189
- # use VARCHAR2(4000) instead of CLOB datatype as CLOB data type has many limitations in
190
- # Oracle SELECT WHERE clause which causes many unit test failures
191
- if current_adapter?(:OracleAdapter) || current_adapter?(:IBM_DBAdapter)
192
- t.string :body, null: false, limit: 4000
193
- else
194
- t.text :body, null: false
195
- end
196
- t.string :type
197
- t.integer :tags_count, default: 0
198
- t.integer :children_count, default: 0
199
- t.integer :parent_id
200
- t.references :author, polymorphic: true
201
- t.string :resource_id
202
- t.string :resource_type
203
- t.integer :developer_id
204
- end
205
-
206
- create_table :companies, force: true do |t|
207
- t.string :type
208
- t.integer :firm_id
209
- t.string :firm_name
210
- t.string :name
211
- t.integer :client_of
212
- t.integer :rating, default: 1
213
- t.integer :account_id
214
- t.string :description, default: ""
215
- end
216
-
217
- add_index :companies, [:firm_id, :type, :rating], name: "company_index"
218
- add_index :companies, [:firm_id, :type], name: "company_partial_index", where: "rating > 10"
219
- add_index :companies, :name, name: 'company_name_index', using: :btree
220
-
221
- create_table :vegetables, force: true do |t|
222
- t.string :name
223
- t.integer :seller_id
224
- t.string :custom_type
225
- end
226
-
227
- create_table :computers, force: true do |t|
228
- t.string :system
229
- t.integer :developer, null: false
230
- t.integer :extendedWarranty, null: false
231
- end
232
-
233
- create_table :computers_developers, id: false, force: true do |t|
234
- t.references :computer
235
- t.references :developer
236
- end
237
-
238
- create_table :contracts, force: true do |t|
239
- t.integer :developer_id
240
- t.integer :company_id
241
- end
242
-
243
- create_table :customers, force: true do |t|
244
- t.string :name
245
- t.integer :balance, default: 0
246
- t.string :address_street
247
- t.string :address_city
248
- t.string :address_country
249
- t.string :gps_location
250
- end
251
-
252
- create_table :customer_carriers, force: true do |t|
253
- t.references :customer
254
- t.references :carrier
255
- end
256
-
257
- create_table :dashboards, force: true, id: false do |t|
258
- t.string :dashboard_id
259
- t.string :name
260
- end
261
-
262
- create_table :developers, force: true do |t|
263
- t.string :name
264
- t.integer :salary, default: 70000
265
- t.datetime :created_at
266
- t.datetime :updated_at
267
- t.datetime :created_on
268
- t.datetime :updated_on
269
- end
270
-
271
- create_table :developers_projects, force: true, id: false do |t|
272
- t.integer :developer_id, null: false
273
- t.integer :project_id, null: false
274
- t.date :joined_on
275
- t.integer :access_level, default: 1
276
- end
277
-
278
- create_table :dog_lovers, force: true do |t|
279
- t.integer :trained_dogs_count, default: 0
280
- t.integer :bred_dogs_count, default: 0
281
- t.integer :dogs_count, default: 0
282
- end
283
-
284
- create_table :dogs, force: true do |t|
285
- t.integer :trainer_id
286
- t.integer :breeder_id
287
- t.integer :dog_lover_id
288
- t.string :alias
289
- end
290
-
291
- create_table :doubloons, force: true do |t|
292
- t.integer :pirate_id
293
- t.integer :weight
294
- end
295
-
296
- create_table :edges, force: true, id: false do |t|
297
- t.column :source_id, :integer, null: false
298
- t.column :sink_id, :integer, null: false
299
- end
300
- add_index :edges, [:source_id, :sink_id], unique: true, name: 'unique_edge_index'
301
-
302
- create_table :engines, force: true do |t|
303
- t.integer :car_id
304
- end
305
-
306
- create_table :entrants, force: true do |t|
307
- t.string :name, null: false
308
- t.integer :course_id, null: false
309
- end
310
-
311
- create_table :essays, force: true do |t|
312
- t.string :name
313
- t.string :writer_id
314
- t.string :writer_type
315
- t.string :category_id
316
- t.string :author_id
317
- end
318
-
319
- create_table :events, force: true do |t|
320
- t.string :title, limit: 5
321
- end
322
-
323
- create_table :eyes, force: true do |t|
324
- end
325
-
326
- create_table :funny_jokes, force: true do |t|
327
- t.string :name
328
- end
329
-
330
- create_table :cold_jokes, force: true do |t|
331
- t.string :cold_name
332
- end
333
-
334
- create_table :friendships, force: true do |t|
335
- t.integer :friend_id
336
- t.integer :follower_id
337
- end
338
-
339
- create_table :goofy_string_id, force: true, id: false do |t|
340
- t.string :id, null: false
341
- t.string :info
342
- end
343
-
344
- create_table :having, force: true do |t|
345
- t.string :where
346
- end
347
-
348
- create_table :guids, force: true do |t|
349
- t.column :key, :string
350
- end
351
-
352
- create_table :inept_wizards, force: true do |t|
353
- t.column :name, :string, null: false
354
- t.column :city, :string, null: false
355
- t.column :type, :string
356
- end
357
-
358
- create_table :integer_limits, force: true do |t|
359
- t.integer :"c_int_without_limit"
360
- (1..8).each do |i|
361
- t.integer :"c_int_#{i}", limit: i
362
- end
363
- end
364
-
365
- create_table :invoices, force: true do |t|
366
- t.integer :balance
367
- t.datetime :updated_at
368
- end
369
-
370
- create_table :iris, force: true do |t|
371
- t.references :eye
372
- t.string :color
373
- end
374
-
375
- create_table :items, force: true do |t|
376
- t.column :name, :string
377
- end
378
-
379
- create_table :jobs, force: true do |t|
380
- t.integer :ideal_reference_id
381
- end
382
-
383
- create_table :keyboards, force: true, id: false do |t|
384
- t.primary_key :key_number
385
- t.string :name
386
- end
387
-
388
- create_table :legacy_things, force: true do |t|
389
- t.integer :tps_report_number
390
- t.integer :version, null: false, default: 0
391
- end
392
-
393
- create_table :lessons, force: true do |t|
394
- t.string :name
395
- end
396
-
397
- create_table :lessons_students, id: false, force: true do |t|
398
- t.references :lesson
399
- t.references :student
400
- end
401
-
402
- create_table :lint_models, force: true
403
-
404
- create_table :line_items, force: true do |t|
405
- t.integer :invoice_id
406
- t.integer :amount
407
- end
408
-
409
- create_table :lock_without_defaults, force: true do |t|
410
- t.column :lock_version, :integer
411
- end
412
-
413
- create_table :lock_without_defaults_cust, force: true do |t|
414
- t.column :custom_lock_version, :integer
415
- end
416
-
417
- create_table :magazines, force: true do |t|
418
- end
419
-
420
- create_table :mateys, id: false, force: true do |t|
421
- t.column :pirate_id, :integer
422
- t.column :target_id, :integer
423
- t.column :weight, :integer
424
- end
425
-
426
- create_table :members, force: true do |t|
427
- t.string :name
428
- t.integer :member_type_id
429
- end
430
-
431
- create_table :member_details, force: true do |t|
432
- t.integer :member_id
433
- t.integer :organization_id
434
- t.string :extra_data
435
- end
436
-
437
- create_table :member_friends, force: true, id: false do |t|
438
- t.integer :member_id
439
- t.integer :friend_id
440
- end
441
-
442
- create_table :memberships, force: true do |t|
443
- t.datetime :joined_on
444
- t.integer :club_id, :member_id
445
- t.boolean :favourite, default: false
446
- t.string :type
447
- end
448
-
449
- create_table :member_types, force: true do |t|
450
- t.string :name
451
- end
452
-
453
- create_table :minivans, force: true, id: false do |t|
454
- t.string :minivan_id
455
- t.string :name
456
- t.string :speedometer_id
457
- t.string :color
458
- end
459
-
460
- create_table :minimalistics, force: true do |t|
461
- end
462
-
463
- create_table :mixed_case_monkeys, force: true, id: false do |t|
464
- t.primary_key :monkeyid
465
- t.integer :fleacount
466
- end
467
-
468
- create_table :mixins, force: true do |t|
469
- t.integer :parent_id
470
- t.integer :pos
471
- t.datetime :created_at
472
- t.datetime :updated_at
473
- t.integer :lft
474
- t.integer :rgt
475
- t.integer :root_id
476
- t.string :type
477
- end
478
-
479
- create_table :movies, force: true, id: false do |t|
480
- t.primary_key :movieid
481
- t.string :name
482
- end
483
-
484
- create_table :numeric_data, force: true do |t|
485
- t.decimal :bank_balance, precision: 10, scale: 2
486
- t.decimal :big_bank_balance, precision: 15, scale: 2
487
- t.decimal :world_population, precision: 10, scale: 0
488
- t.decimal :my_house_population, precision: 2, scale: 0
489
- t.decimal :decimal_number_with_default, precision: 3, scale: 2, default: 2.78
490
- t.float :temperature
491
- # Oracle/SQLServer supports precision up to 38
492
- if current_adapter?(:OracleAdapter, :SQLServerAdapter)
493
- t.decimal :atoms_in_universe, precision: 38, scale: 0
494
- elsif current_adapter?(:IBM_DBAdapter)
495
- t.decimal :atoms_in_universe, precision: 31, scale: 0
496
- else
497
- t.decimal :atoms_in_universe, precision: 55, scale: 0
498
- end
499
- end
500
-
501
- create_table :orders, force: true do |t|
502
- t.string :name
503
- t.integer :billing_customer_id
504
- t.integer :shipping_customer_id
505
- end
506
-
507
- create_table :organizations, force: true do |t|
508
- t.string :name
509
- end
510
-
511
- create_table :owners, primary_key: :owner_id, force: true do |t|
512
- t.string :name
513
- t.column :updated_at, :datetime
514
- t.column :happy_at, :datetime
515
- t.string :essay_id
516
- end
517
-
518
- create_table :paint_colors, force: true do |t|
519
- t.integer :non_poly_one_id
520
- end
521
-
522
- create_table :paint_textures, force: true do |t|
523
- t.integer :non_poly_two_id
524
- end
525
-
526
- create_table :parrots, force: true do |t|
527
- t.column :name, :string
528
- t.column :color, :string
529
- t.column :parrot_sti_class, :string
530
- t.column :killer_id, :integer
531
- t.column :created_at, :datetime
532
- t.column :created_on, :datetime
533
- t.column :updated_at, :datetime
534
- t.column :updated_on, :datetime
535
- end
536
-
537
- create_table :parrots_pirates, id: false, force: true do |t|
538
- t.column :parrot_id, :integer
539
- t.column :pirate_id, :integer
540
- end
541
-
542
- create_table :parrots_treasures, id: false, force: true do |t|
543
- t.column :parrot_id, :integer
544
- t.column :treasure_id, :integer
545
- end
546
-
547
- create_table :people, force: true do |t|
548
- t.string :first_name, null: false
549
- t.references :primary_contact
550
- t.string :gender, limit: 1
551
- t.references :number1_fan
552
- t.integer :lock_version, null: false, default: 0
553
- t.string :comments
554
- t.integer :followers_count, default: 0
555
- t.integer :friends_too_count, default: 0
556
- t.references :best_friend
557
- t.references :best_friend_of
558
- t.integer :insures, null: false, default: 0
559
- t.timestamp :born_at
560
- t.timestamps null: false
561
- end
562
-
563
- create_table :peoples_treasures, id: false, force: true do |t|
564
- t.column :rich_person_id, :integer
565
- t.column :treasure_id, :integer
566
- end
567
-
568
- create_table :personal_legacy_things, force: true do |t|
569
- t.integer :tps_report_number
570
- t.integer :person_id
571
- t.integer :version, null: false, default: 0
572
- end
573
-
574
- create_table :pets, primary_key: :pet_id, force: true do |t|
575
- t.string :name
576
- t.integer :owner_id, :integer
577
- t.timestamps null: false
578
- end
579
-
580
- create_table :pirates, force: true do |t|
581
- t.column :catchphrase, :string
582
- t.column :parrot_id, :integer
583
- t.integer :non_validated_parrot_id
584
- t.column :created_on, :datetime
585
- t.column :updated_on, :datetime
586
- end
587
-
588
- create_table :posts, force: true do |t|
589
- t.integer :author_id
590
- t.string :title, null: false
591
- # use VARCHAR2(4000) instead of CLOB datatype as CLOB data type has many limitations in
592
- # Oracle SELECT WHERE clause which causes many unit test failures
593
- if current_adapter?(:OracleAdapter) || current_adapter?(:IBM_DBAdapter)
594
- t.string :body, null: false, limit: 4000
595
- else
596
- t.text :body, null: false
597
- end
598
- t.string :type
599
- t.integer :comments_count, default: 0
600
- t.integer :taggings_with_delete_all_count, default: 0
601
- t.integer :taggings_with_destroy_count, default: 0
602
- t.integer :tags_count, default: 0
603
- t.integer :tags_with_destroy_count, default: 0
604
- t.integer :tags_with_nullify_count, default: 0
605
- end
606
-
607
- create_table :serialized_posts, force: true do |t|
608
- t.integer :author_id
609
- t.string :title, null: false
610
- end
611
-
612
- create_table :images, force: true do |t|
613
- t.integer :imageable_identifier
614
- t.string :imageable_class
615
- end
616
-
617
- create_table :price_estimates, force: true do |t|
618
- t.string :estimate_of_type
619
- t.integer :estimate_of_id
620
- t.integer :price
621
- end
622
-
623
- create_table :products, force: true do |t|
624
- t.references :collection
625
- t.references :type
626
- t.string :name
627
- end
628
-
629
- create_table :product_types, force: true do |t|
630
- t.string :name
631
- end
632
-
633
- create_table :projects, force: true do |t|
634
- t.string :name
635
- t.string :type
636
- end
637
-
638
- create_table :randomly_named_table, force: true do |t|
639
- t.string :some_attribute
640
- t.integer :another_attribute
641
- end
642
-
643
- create_table :ratings, force: true do |t|
644
- t.integer :comment_id
645
- t.integer :value
646
- end
647
-
648
- create_table :readers, force: true do |t|
649
- t.integer :post_id, null: false
650
- t.integer :person_id, null: false
651
- t.boolean :skimmer, default: false
652
- t.integer :first_post_id
653
- end
654
-
655
- create_table :references, force: true do |t|
656
- t.integer :person_id
657
- t.integer :job_id
658
- t.boolean :favourite
659
- t.integer :lock_version, default: 0
660
- end
661
-
662
- create_table :shape_expressions, force: true do |t|
663
- t.string :paint_type
664
- t.integer :paint_id
665
- t.string :shape_type
666
- t.integer :shape_id
667
- end
668
-
669
- create_table :ships, force: true do |t|
670
- t.string :name
671
- t.integer :pirate_id
672
- t.integer :update_only_pirate_id
673
- # Conventionally named column for counter_cache
674
- t.integer :treasures_count, default: 0
675
- t.datetime :created_at
676
- t.datetime :created_on
677
- t.datetime :updated_at
678
- t.datetime :updated_on
679
- end
680
-
681
- create_table :ship_parts, force: true do |t|
682
- t.string :name
683
- t.integer :ship_id
684
- end
685
-
686
- create_table :shop_accounts, force: true do |t|
687
- t.references :customer
688
- t.references :customer_carrier
689
- end
690
-
691
- create_table :speedometers, force: true, id: false do |t|
692
- t.string :speedometer_id
693
- t.string :name
694
- t.string :dashboard_id
695
- end
696
-
697
- create_table :sponsors, force: true do |t|
698
- t.integer :club_id
699
- t.integer :sponsorable_id
700
- t.string :sponsorable_type
701
- end
702
-
703
- create_table :string_key_objects, id: false, primary_key: :id, force: true do |t|
704
- t.string :id
705
- t.string :name
706
- t.integer :lock_version, null: false, default: 0
707
- end
708
-
709
- create_table :students, force: true do |t|
710
- t.string :name
711
- t.boolean :active
712
- t.integer :college_id
713
- end
714
-
715
- create_table :subscribers, force: true, id: false do |t|
716
- t.string :nick, null: false
717
- t.string :name
718
- t.column :books_count, :integer, null: false, default: 0
719
- end
720
- add_index :subscribers, :nick, unique: true
721
-
722
- create_table :subscriptions, force: true do |t|
723
- t.string :subscriber_id
724
- t.integer :book_id
725
- end
726
-
727
- create_table :tags, force: true do |t|
728
- t.column :name, :string
729
- t.column :taggings_count, :integer, default: 0
730
- end
731
-
732
- create_table :taggings, force: true do |t|
733
- t.column :tag_id, :integer
734
- t.column :super_tag_id, :integer
735
- t.column :taggable_type, :string
736
- t.column :taggable_id, :integer
737
- t.string :comment
738
- end
739
-
740
- create_table :tasks, force: true do |t|
741
- t.datetime :starting
742
- t.datetime :ending
743
- end
744
-
745
- create_table :topics, force: true do |t|
746
- t.string :title, limit: 250
747
- t.string :author_name
748
- t.string :author_email_address
749
- if mysql_56?
750
- t.datetime :written_on, precision: 6
751
- else
752
- t.datetime :written_on
753
- end
754
- t.time :bonus_time
755
- t.date :last_read
756
- # use VARCHAR2(4000) instead of CLOB datatype as CLOB data type has many limitations in
757
- # Oracle SELECT WHERE clause which causes many unit test failures
758
- if current_adapter?(:OracleAdapter) || current_adapter?(:IBM_DBAdapter)
759
- t.string :content, limit: 4000
760
- t.string :important, limit: 4000
761
- else
762
- t.text :content
763
- t.text :important
764
- end
765
- t.boolean :approved, default: true
766
- t.integer :replies_count, default: 0
767
- t.integer :unique_replies_count, default: 0
768
- t.integer :parent_id
769
- t.string :parent_title
770
- t.string :type
771
- t.string :group
772
- t.timestamps null: true
773
- end
774
-
775
- create_table :toys, primary_key: :toy_id, force: true do |t|
776
- t.string :name
777
- t.integer :pet_id, :integer
778
- t.timestamps null: false
779
- end
780
-
781
- create_table :traffic_lights, force: true do |t|
782
- t.string :location
783
- t.string :state
784
- t.text :long_state, null: false
785
- t.datetime :created_at
786
- t.datetime :updated_at
787
- end
788
-
789
- create_table :treasures, force: true do |t|
790
- t.column :name, :string
791
- t.column :type, :string
792
- t.column :looter_id, :integer
793
- t.column :looter_type, :string
794
- t.belongs_to :ship
795
- end
796
-
797
- create_table :tyres, force: true do |t|
798
- t.integer :car_id
799
- end
800
-
801
- create_table :variants, force: true do |t|
802
- t.references :product
803
- t.string :name
804
- end
805
-
806
- create_table :vertices, force: true do |t|
807
- t.column :label, :string
808
- end
809
-
810
- create_table 'warehouse_things', force: true do |t|
811
- t.integer :value
812
- end
813
-
814
- [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each do |t|
815
- create_table(t, force: true) { }
816
- end
817
-
818
- # NOTE - the following 4 tables are used by models that have :inverse_of options on the associations
819
- create_table :men, force: true do |t|
820
- t.string :name
821
- end
822
-
823
- create_table :faces, force: true do |t|
824
- t.string :description
825
- t.integer :man_id
826
- t.integer :polymorphic_man_id
827
- t.string :polymorphic_man_type
828
- t.integer :poly_man_without_inverse_id
829
- t.string :poly_man_without_inverse_type
830
- t.integer :horrible_polymorphic_man_id
831
- t.string :horrible_polymorphic_man_type
832
- end
833
-
834
- create_table :interests, force: true do |t|
835
- t.string :topic
836
- t.integer :man_id
837
- t.integer :polymorphic_man_id
838
- t.string :polymorphic_man_type
839
- t.integer :zine_id
840
- end
841
-
842
- create_table :wheels, force: true do |t|
843
- t.references :wheelable, polymorphic: true
844
- end
845
-
846
- create_table :zines, force: true do |t|
847
- t.string :title
848
- end
849
-
850
- create_table :countries, force: true, id: false, primary_key: 'country_id' do |t|
851
- t.string :country_id
852
- t.string :name
853
- end
854
- create_table :treaties, force: true, id: false, primary_key: 'treaty_id' do |t|
855
- t.string :treaty_id
856
- t.string :name
857
- end
858
- create_table :countries_treaties, force: true, id: false do |t|
859
- t.string :country_id, null: false
860
- t.string :treaty_id, null: false
861
- end
862
-
863
- create_table :liquid, force: true do |t|
864
- t.string :name
865
- end
866
- create_table :molecules, force: true do |t|
867
- t.integer :liquid_id
868
- t.string :name
869
- end
870
- create_table :electrons, force: true do |t|
871
- t.integer :molecule_id
872
- t.string :name
873
- end
874
- create_table :weirds, force: true do |t|
875
- #t.string 'a$b'
876
- #t.string 'なまえ'
877
- #t.string 'from'
878
- t.string 'test1'
879
- t.string 'test2'
880
- t.string 'test3'
881
- end
882
-
883
- create_table :hotels, force: true do |t|
884
- end
885
- create_table :departments, force: true do |t|
886
- t.integer :hotel_id
887
- end
888
- create_table :cake_designers, force: true do |t|
889
- end
890
- create_table :drink_designers, force: true do |t|
891
- end
892
- create_table :chefs, force: true do |t|
893
- t.integer :employable_id
894
- t.string :employable_type
895
- t.integer :department_id
896
- end
897
-
898
- create_table :records, force: true do |t|
899
- end
900
-
901
- except 'SQLite' do
902
- # fk_test_has_fk should be before fk_test_has_pk
903
- create_table :fk_test_has_fk, force: true do |t|
904
- t.integer :fk_id, null: false
905
- end
906
-
907
- create_table :fk_test_has_pk, force: true, primary_key: "pk_id" do |t|
908
- end
909
-
910
- add_foreign_key :fk_test_has_fk, :fk_test_has_pk, column: "fk_id", name: "fk_name", primary_key: "pk_id"
911
- add_foreign_key :lessons_students, :students
912
- end
913
-
914
- create_table :overloaded_types, force: true do |t|
915
- t.float :overloaded_float, default: 500
916
- t.float :unoverloaded_float
917
- t.string :overloaded_string_with_limit, limit: 255
918
- t.string :string_with_default, default: 'the original default'
919
- end
920
- end
921
-
922
- Course.connection.create_table :courses, force: true do |t|
923
- t.column :name, :string, null: false
924
- t.column :college_id, :integer
925
- end
926
-
927
- College.connection.create_table :colleges, force: true do |t|
928
- t.column :name, :string, null: false
929
- end
930
-
931
- Professor.connection.create_table :professors, force: true do |t|
932
- t.column :name, :string, null: false
933
- end
934
-
935
- Professor.connection.create_table :courses_professors, id: false, force: true do |t|
936
- t.references :course
937
- t.references :professor
938
- end
1
+ # encoding: utf-8
2
+
3
+ ActiveRecord::Schema.define do
4
+ def except(adapter_names_to_exclude)
5
+ unless [adapter_names_to_exclude].flatten.include?(adapter_name)
6
+ yield
7
+ end
8
+ end
9
+
10
+ #put adapter specific setup here
11
+ case adapter_name
12
+ when "PostgreSQL"
13
+ enable_extension!('uuid-ossp', ActiveRecord::Base.connection)
14
+ create_table :uuid_parents, id: :uuid, force: true do |t|
15
+ t.string :name
16
+ end
17
+ create_table :uuid_children, id: :uuid, force: true do |t|
18
+ t.string :name
19
+ t.uuid :uuid_parent_id
20
+ end
21
+ end
22
+
23
+
24
+ # ------------------------------------------------------------------- #
25
+ # #
26
+ # Please keep these create table statements in alphabetical order #
27
+ # unless the ordering matters. In which case, define them below. #
28
+ # #
29
+ # ------------------------------------------------------------------- #
30
+
31
+ create_table :accounts, force: true do |t|
32
+ t.integer :firm_id
33
+ t.string :firm_name
34
+ t.integer :credit_limit
35
+ end
36
+
37
+ create_table :admin_accounts, force: true do |t|
38
+ t.string :name
39
+ end
40
+
41
+ create_table :admin_users, force: true do |t|
42
+ t.string :name
43
+ t.string :settings, null: true, limit: 1024
44
+ # MySQL does not allow default values for blobs. Fake it out with a
45
+ # big varchar below.
46
+ t.string :preferences, null: true, default: '', limit: 1024
47
+ t.string :json_data, null: true, limit: 1024
48
+ t.string :json_data_empty, null: true, default: "", limit: 1024
49
+ t.text :params
50
+ t.references :account
51
+ end
52
+
53
+ create_table :aircraft, force: true do |t|
54
+ t.string :name
55
+ end
56
+
57
+ create_table :articles, force: true do |t|
58
+ end
59
+
60
+ create_table :articles_magazines, force: true do |t|
61
+ t.references :article
62
+ t.references :magazine
63
+ end
64
+
65
+ create_table :articles_tags, force: true do |t|
66
+ t.references :article
67
+ t.references :tag
68
+ end
69
+
70
+ create_table :audit_logs, force: true do |t|
71
+ t.column :message, :string, null: false
72
+ t.column :developer_id, :integer, null: false
73
+ t.integer :unvalidated_developer_id
74
+ end
75
+
76
+ create_table :authors, force: true do |t|
77
+ t.string :name, null: false
78
+ t.integer :author_address_id
79
+ t.integer :author_address_extra_id
80
+ t.string :organization_id
81
+ t.string :owned_essay_id
82
+ end
83
+
84
+ create_table :author_addresses, force: true do |t|
85
+ end
86
+
87
+ add_foreign_key :authors, :author_addresses
88
+
89
+ create_table :author_favorites, force: true do |t|
90
+ t.column :author_id, :integer
91
+ t.column :favorite_author_id, :integer
92
+ end
93
+
94
+ create_table :auto_id_tests, force: true, id: false do |t|
95
+ t.primary_key :auto_id
96
+ t.integer :value
97
+ end
98
+
99
+ create_table :binaries, force: true do |t|
100
+ t.string :name
101
+ t.binary :data
102
+ t.binary :short_data, limit: 2048
103
+ end
104
+
105
+ create_table :birds, force: true do |t|
106
+ t.string :name
107
+ t.string :color
108
+ t.integer :pirate_id
109
+ end
110
+
111
+ create_table :books, force: true do |t|
112
+ t.integer :author_id
113
+ t.string :format
114
+ t.column :name, :string
115
+ t.column :status, :integer, default: 0
116
+ t.column :read_status, :integer, default: 0
117
+ t.column :nullable_status, :integer
118
+ end
119
+
120
+ create_table :booleans, force: true do |t|
121
+ t.boolean :value
122
+ t.boolean :has_fun, null: false, default: false
123
+ end
124
+
125
+ create_table :bulbs, force: true do |t|
126
+ t.integer :car_id
127
+ t.string :name
128
+ t.boolean :frickinawesome
129
+ t.string :color
130
+ end
131
+
132
+ create_table "camelcase", force: true do |t|
133
+ t.string :name
134
+ end
135
+
136
+ create_table :cars, force: true do |t|
137
+ t.string :name
138
+ t.integer :engines_count
139
+ t.integer :wheels_count
140
+ t.column :lock_version, :integer, null: false, default: 0
141
+ t.timestamps null: false
142
+ end
143
+
144
+ create_table :carriers, force: true
145
+
146
+ create_table :categories, force: true do |t|
147
+ t.string :name, null: false
148
+ t.string :type
149
+ t.integer :categorizations_count
150
+ end
151
+
152
+ create_table :categories_posts, force: true, id: false do |t|
153
+ t.integer :category_id, null: false
154
+ t.integer :post_id, null: false
155
+ end
156
+
157
+ create_table :categorizations, force: true do |t|
158
+ t.column :category_id, :integer
159
+ t.string :named_category_name
160
+ t.column :post_id, :integer
161
+ t.column :author_id, :integer
162
+ t.column :special, :boolean
163
+ end
164
+
165
+ create_table :citations, force: true do |t|
166
+ t.column :book1_id, :integer
167
+ t.column :book2_id, :integer
168
+ end
169
+
170
+ create_table :clubs, force: true do |t|
171
+ t.string :name
172
+ t.integer :category_id
173
+ end
174
+
175
+ create_table :collections, force: true do |t|
176
+ t.string :name
177
+ end
178
+
179
+ create_table :colnametests, force: true do |t|
180
+ t.integer :references, null: false
181
+ end
182
+
183
+ create_table :columns, force: true do |t|
184
+ t.references :record
185
+ end
186
+
187
+ create_table :comments, force: true do |t|
188
+ t.integer :post_id, null: false
189
+ # use VARCHAR2(4000) instead of CLOB datatype as CLOB data type has many limitations in
190
+ # Oracle SELECT WHERE clause which causes many unit test failures
191
+ if current_adapter?(:OracleAdapter) || current_adapter?(:IBM_DBAdapter)
192
+ t.string :body, null: false, limit: 4000
193
+ else
194
+ t.text :body, null: false
195
+ end
196
+ t.string :type
197
+ t.integer :tags_count, default: 0
198
+ t.integer :children_count, default: 0
199
+ t.integer :parent_id
200
+ t.references :author, polymorphic: true
201
+ t.string :resource_id
202
+ t.string :resource_type
203
+ t.integer :developer_id
204
+ end
205
+
206
+ create_table :companies, force: true do |t|
207
+ t.string :type
208
+ t.integer :firm_id
209
+ t.string :firm_name
210
+ t.string :name
211
+ t.integer :client_of
212
+ t.integer :rating, default: 1
213
+ t.integer :account_id
214
+ t.string :description, default: ""
215
+ end
216
+
217
+ add_index :companies, [:firm_id, :type, :rating], name: "company_index"
218
+ add_index :companies, [:firm_id, :type], name: "company_partial_index", where: "rating > 10"
219
+ add_index :companies, :name, name: 'company_name_index', using: :btree
220
+
221
+ create_table :vegetables, force: true do |t|
222
+ t.string :name
223
+ t.integer :seller_id
224
+ t.string :custom_type
225
+ end
226
+
227
+ create_table :computers, force: true do |t|
228
+ t.string :system
229
+ t.integer :developer, null: false
230
+ t.integer :extendedWarranty, null: false
231
+ end
232
+
233
+ create_table :computers_developers, id: false, force: true do |t|
234
+ t.references :computer
235
+ t.references :developer
236
+ end
237
+
238
+ create_table :contracts, force: true do |t|
239
+ t.integer :developer_id
240
+ t.integer :company_id
241
+ end
242
+
243
+ create_table :customers, force: true do |t|
244
+ t.string :name
245
+ t.integer :balance, default: 0
246
+ t.string :address_street
247
+ t.string :address_city
248
+ t.string :address_country
249
+ t.string :gps_location
250
+ end
251
+
252
+ create_table :customer_carriers, force: true do |t|
253
+ t.references :customer
254
+ t.references :carrier
255
+ end
256
+
257
+ create_table :dashboards, force: true, id: false do |t|
258
+ t.string :dashboard_id
259
+ t.string :name
260
+ end
261
+
262
+ create_table :developers, force: true do |t|
263
+ t.string :name
264
+ t.integer :salary, default: 70000
265
+ t.integer :firm_id
266
+ t.datetime :created_at
267
+ t.datetime :updated_at
268
+ t.datetime :created_on
269
+ t.datetime :updated_on
270
+ end
271
+
272
+ create_table :developers_projects, force: true, id: false do |t|
273
+ t.integer :developer_id, null: false
274
+ t.integer :project_id, null: false
275
+ t.date :joined_on
276
+ t.integer :access_level, default: 1
277
+ end
278
+
279
+ create_table :dog_lovers, force: true do |t|
280
+ t.integer :trained_dogs_count, default: 0
281
+ t.integer :bred_dogs_count, default: 0
282
+ t.integer :dogs_count, default: 0
283
+ end
284
+
285
+ create_table :dogs, force: true do |t|
286
+ t.integer :trainer_id
287
+ t.integer :breeder_id
288
+ t.integer :dog_lover_id
289
+ t.string :alias
290
+ end
291
+
292
+ create_table :doubloons, force: true do |t|
293
+ t.integer :pirate_id
294
+ t.integer :weight
295
+ end
296
+
297
+ create_table :edges, force: true, id: false do |t|
298
+ t.column :source_id, :integer, null: false
299
+ t.column :sink_id, :integer, null: false
300
+ end
301
+ add_index :edges, [:source_id, :sink_id], unique: true, name: 'unique_edge_index'
302
+
303
+ create_table :engines, force: true do |t|
304
+ t.integer :car_id
305
+ end
306
+
307
+ create_table :entrants, force: true do |t|
308
+ t.string :name, null: false
309
+ t.integer :course_id, null: false
310
+ end
311
+
312
+ create_table :essays, force: true do |t|
313
+ t.string :name
314
+ t.string :writer_id
315
+ t.string :writer_type
316
+ t.string :category_id
317
+ t.string :author_id
318
+ end
319
+
320
+ create_table :events, force: true do |t|
321
+ t.string :title, limit: 5
322
+ end
323
+
324
+ create_table :eyes, force: true do |t|
325
+ end
326
+
327
+ create_table :funny_jokes, force: true do |t|
328
+ t.string :name
329
+ end
330
+
331
+ create_table :cold_jokes, force: true do |t|
332
+ t.string :cold_name
333
+ end
334
+
335
+ create_table :friendships, force: true do |t|
336
+ t.integer :friend_id
337
+ t.integer :follower_id
338
+ end
339
+
340
+ create_table :goofy_string_id, force: true, id: false do |t|
341
+ t.string :id, null: false
342
+ t.string :info
343
+ end
344
+
345
+ create_table :having, force: true do |t|
346
+ t.string :where
347
+ end
348
+
349
+ create_table :guids, force: true do |t|
350
+ t.column :key, :string
351
+ end
352
+
353
+ create_table :inept_wizards, force: true do |t|
354
+ t.column :name, :string, null: false
355
+ t.column :city, :string, null: false
356
+ t.column :type, :string
357
+ end
358
+
359
+ create_table :integer_limits, force: true do |t|
360
+ t.integer :"c_int_without_limit"
361
+ (1..8).each do |i|
362
+ t.integer :"c_int_#{i}", limit: i
363
+ end
364
+ end
365
+
366
+ create_table :invoices, force: true do |t|
367
+ t.integer :balance
368
+ t.datetime :updated_at
369
+ end
370
+
371
+ create_table :iris, force: true do |t|
372
+ t.references :eye
373
+ t.string :color
374
+ end
375
+
376
+ create_table :items, force: true do |t|
377
+ t.column :name, :string
378
+ end
379
+
380
+ create_table :jobs, force: true do |t|
381
+ t.integer :ideal_reference_id
382
+ end
383
+
384
+ create_table :keyboards, force: true, id: false do |t|
385
+ t.primary_key :key_number
386
+ t.string :name
387
+ end
388
+
389
+ create_table :legacy_things, force: true do |t|
390
+ t.integer :tps_report_number
391
+ t.integer :version, null: false, default: 0
392
+ end
393
+
394
+ create_table :lessons, force: true do |t|
395
+ t.string :name
396
+ end
397
+
398
+ create_table :lessons_students, id: false, force: true do |t|
399
+ t.references :lesson
400
+ t.references :student
401
+ end
402
+
403
+ create_table :lint_models, force: true
404
+
405
+ create_table :line_items, force: true do |t|
406
+ t.integer :invoice_id
407
+ t.integer :amount
408
+ end
409
+
410
+ create_table :lock_without_defaults, force: true do |t|
411
+ t.column :lock_version, :integer
412
+ end
413
+
414
+ create_table :lock_without_defaults_cust, force: true do |t|
415
+ t.column :custom_lock_version, :integer
416
+ end
417
+
418
+ create_table :magazines, force: true do |t|
419
+ end
420
+
421
+ create_table :mateys, id: false, force: true do |t|
422
+ t.column :pirate_id, :integer
423
+ t.column :target_id, :integer
424
+ t.column :weight, :integer
425
+ end
426
+
427
+ create_table :members, force: true do |t|
428
+ t.string :name
429
+ t.integer :member_type_id
430
+ end
431
+
432
+ create_table :member_details, force: true do |t|
433
+ t.integer :member_id
434
+ t.integer :organization_id
435
+ t.string :extra_data
436
+ end
437
+
438
+ create_table :member_friends, force: true, id: false do |t|
439
+ t.integer :member_id
440
+ t.integer :friend_id
441
+ end
442
+
443
+ create_table :memberships, force: true do |t|
444
+ t.datetime :joined_on
445
+ t.integer :club_id, :member_id
446
+ t.boolean :favourite, default: false
447
+ t.string :type
448
+ end
449
+
450
+ create_table :member_types, force: true do |t|
451
+ t.string :name
452
+ end
453
+
454
+ create_table :minivans, force: true, id: false do |t|
455
+ t.string :minivan_id
456
+ t.string :name
457
+ t.string :speedometer_id
458
+ t.string :color
459
+ end
460
+
461
+ create_table :minimalistics, force: true do |t|
462
+ end
463
+
464
+ create_table :mixed_case_monkeys, force: true, id: false do |t|
465
+ t.primary_key :monkeyid
466
+ t.integer :fleacount
467
+ end
468
+
469
+ create_table :mixins, force: true do |t|
470
+ t.integer :parent_id
471
+ t.integer :pos
472
+ t.datetime :created_at
473
+ t.datetime :updated_at
474
+ t.integer :lft
475
+ t.integer :rgt
476
+ t.integer :root_id
477
+ t.string :type
478
+ end
479
+
480
+ create_table :movies, force: true, id: false do |t|
481
+ t.primary_key :movieid
482
+ t.string :name
483
+ end
484
+
485
+ create_table :numeric_data, force: true do |t|
486
+ t.decimal :bank_balance, precision: 10, scale: 2
487
+ t.decimal :big_bank_balance, precision: 15, scale: 2
488
+ t.decimal :world_population, precision: 10, scale: 0
489
+ t.decimal :my_house_population, precision: 2, scale: 0
490
+ t.decimal :decimal_number_with_default, precision: 3, scale: 2, default: 2.78
491
+ t.float :temperature
492
+ # Oracle/SQLServer supports precision up to 38
493
+ if current_adapter?(:OracleAdapter, :SQLServerAdapter)
494
+ t.decimal :atoms_in_universe, precision: 38, scale: 0
495
+ elsif current_adapter?(:IBM_DBAdapter)
496
+ t.decimal :atoms_in_universe, precision: 31, scale: 0
497
+ else
498
+ t.decimal :atoms_in_universe, precision: 55, scale: 0
499
+ end
500
+ end
501
+
502
+ create_table :orders, force: true do |t|
503
+ t.string :name
504
+ t.integer :billing_customer_id
505
+ t.integer :shipping_customer_id
506
+ end
507
+
508
+ create_table :organizations, force: true do |t|
509
+ t.string :name
510
+ end
511
+
512
+ create_table :owners, primary_key: :owner_id, force: true do |t|
513
+ t.string :name
514
+ t.column :updated_at, :datetime
515
+ t.column :happy_at, :datetime
516
+ t.string :essay_id
517
+ end
518
+
519
+ create_table :paint_colors, force: true do |t|
520
+ t.integer :non_poly_one_id
521
+ end
522
+
523
+ create_table :paint_textures, force: true do |t|
524
+ t.integer :non_poly_two_id
525
+ end
526
+
527
+ create_table :parrots, force: true do |t|
528
+ t.column :name, :string
529
+ t.column :color, :string
530
+ t.column :parrot_sti_class, :string
531
+ t.column :killer_id, :integer
532
+ t.column :created_at, :datetime
533
+ t.column :created_on, :datetime
534
+ t.column :updated_at, :datetime
535
+ t.column :updated_on, :datetime
536
+ end
537
+
538
+ create_table :parrots_pirates, id: false, force: true do |t|
539
+ t.column :parrot_id, :integer
540
+ t.column :pirate_id, :integer
541
+ end
542
+
543
+ create_table :parrots_treasures, id: false, force: true do |t|
544
+ t.column :parrot_id, :integer
545
+ t.column :treasure_id, :integer
546
+ end
547
+
548
+ create_table :people, force: true do |t|
549
+ t.string :first_name, null: false
550
+ t.references :primary_contact
551
+ t.string :gender, limit: 1
552
+ t.references :number1_fan
553
+ t.integer :lock_version, null: false, default: 0
554
+ t.string :comments
555
+ t.integer :followers_count, default: 0
556
+ t.integer :friends_too_count, default: 0
557
+ t.references :best_friend
558
+ t.references :best_friend_of
559
+ t.integer :insures, null: false, default: 0
560
+ t.timestamp :born_at
561
+ t.timestamps null: false
562
+ end
563
+
564
+ create_table :peoples_treasures, id: false, force: true do |t|
565
+ t.column :rich_person_id, :integer
566
+ t.column :treasure_id, :integer
567
+ end
568
+
569
+ create_table :personal_legacy_things, force: true do |t|
570
+ t.integer :tps_report_number
571
+ t.integer :person_id
572
+ t.integer :version, null: false, default: 0
573
+ end
574
+
575
+ create_table :pets, primary_key: :pet_id, force: true do |t|
576
+ t.string :name
577
+ t.integer :owner_id, :integer
578
+ t.timestamps null: false
579
+ end
580
+
581
+ create_table :pirates, force: true do |t|
582
+ t.column :catchphrase, :string
583
+ t.column :parrot_id, :integer
584
+ t.integer :non_validated_parrot_id
585
+ t.column :created_on, :datetime
586
+ t.column :updated_on, :datetime
587
+ end
588
+
589
+ create_table :posts, force: true do |t|
590
+ t.integer :author_id
591
+ t.string :title, null: false
592
+ # use VARCHAR2(4000) instead of CLOB datatype as CLOB data type has many limitations in
593
+ # Oracle SELECT WHERE clause which causes many unit test failures
594
+ if current_adapter?(:OracleAdapter) || current_adapter?(:IBM_DBAdapter)
595
+ t.string :body, null: false, limit: 4000
596
+ else
597
+ t.text :body, null: false
598
+ end
599
+ t.string :type
600
+ t.integer :comments_count, default: 0
601
+ t.integer :taggings_with_delete_all_count, default: 0
602
+ t.integer :taggings_with_destroy_count, default: 0
603
+ t.integer :tags_count, default: 0
604
+ t.integer :tags_with_destroy_count, default: 0
605
+ t.integer :tags_with_nullify_count, default: 0
606
+ end
607
+
608
+ create_table :serialized_posts, force: true do |t|
609
+ t.integer :author_id
610
+ t.string :title, null: false
611
+ end
612
+
613
+ create_table :images, force: true do |t|
614
+ t.integer :imageable_identifier
615
+ t.string :imageable_class
616
+ end
617
+
618
+ create_table :price_estimates, force: true do |t|
619
+ t.string :estimate_of_type
620
+ t.integer :estimate_of_id
621
+ t.integer :price
622
+ end
623
+
624
+ create_table :products, force: true do |t|
625
+ t.references :collection
626
+ t.references :type
627
+ t.string :name
628
+ end
629
+
630
+ create_table :product_types, force: true do |t|
631
+ t.string :name
632
+ end
633
+
634
+ create_table :projects, force: true do |t|
635
+ t.string :name
636
+ t.string :type
637
+ t.integer :firm_id
638
+ end
639
+
640
+ create_table :randomly_named_table, force: true do |t|
641
+ t.string :some_attribute
642
+ t.integer :another_attribute
643
+ end
644
+
645
+ create_table :ratings, force: true do |t|
646
+ t.integer :comment_id
647
+ t.integer :value
648
+ end
649
+
650
+ create_table :readers, force: true do |t|
651
+ t.integer :post_id, null: false
652
+ t.integer :person_id, null: false
653
+ t.boolean :skimmer, default: false
654
+ t.integer :first_post_id
655
+ end
656
+
657
+ create_table :references, force: true do |t|
658
+ t.integer :person_id
659
+ t.integer :job_id
660
+ t.boolean :favourite
661
+ t.integer :lock_version, default: 0
662
+ end
663
+
664
+ create_table :shape_expressions, force: true do |t|
665
+ t.string :paint_type
666
+ t.integer :paint_id
667
+ t.string :shape_type
668
+ t.integer :shape_id
669
+ end
670
+
671
+ create_table :ships, force: true do |t|
672
+ t.string :name
673
+ t.integer :pirate_id
674
+ t.integer :update_only_pirate_id
675
+ # Conventionally named column for counter_cache
676
+ t.integer :treasures_count, default: 0
677
+ t.datetime :created_at
678
+ t.datetime :created_on
679
+ t.datetime :updated_at
680
+ t.datetime :updated_on
681
+ end
682
+
683
+ create_table :ship_parts, force: true do |t|
684
+ t.string :name
685
+ t.integer :ship_id
686
+ end
687
+
688
+ create_table :shop_accounts, force: true do |t|
689
+ t.references :customer
690
+ t.references :customer_carrier
691
+ end
692
+
693
+ create_table :speedometers, force: true, id: false do |t|
694
+ t.string :speedometer_id
695
+ t.string :name
696
+ t.string :dashboard_id
697
+ end
698
+
699
+ create_table :sponsors, force: true do |t|
700
+ t.integer :club_id
701
+ t.integer :sponsorable_id
702
+ t.string :sponsorable_type
703
+ end
704
+
705
+ create_table :string_key_objects, id: false, primary_key: :id, force: true do |t|
706
+ t.string :id
707
+ t.string :name
708
+ t.integer :lock_version, null: false, default: 0
709
+ end
710
+
711
+ create_table :students, force: true do |t|
712
+ t.string :name
713
+ t.boolean :active
714
+ t.integer :college_id
715
+ end
716
+
717
+ create_table :subscribers, force: true, id: false do |t|
718
+ t.string :nick, null: false
719
+ t.string :name
720
+ t.column :books_count, :integer, null: false, default: 0
721
+ end
722
+ add_index :subscribers, :nick, unique: true
723
+
724
+ create_table :subscriptions, force: true do |t|
725
+ t.string :subscriber_id
726
+ t.integer :book_id
727
+ end
728
+
729
+ create_table :tags, force: true do |t|
730
+ t.column :name, :string
731
+ t.column :taggings_count, :integer, default: 0
732
+ end
733
+
734
+ create_table :taggings, force: true do |t|
735
+ t.column :tag_id, :integer
736
+ t.column :super_tag_id, :integer
737
+ t.column :taggable_type, :string
738
+ t.column :taggable_id, :integer
739
+ t.string :comment
740
+ end
741
+
742
+ create_table :tasks, force: true do |t|
743
+ t.datetime :starting
744
+ t.datetime :ending
745
+ end
746
+
747
+ create_table :topics, force: true do |t|
748
+ t.string :title, limit: 250
749
+ t.string :author_name
750
+ t.string :author_email_address
751
+ if mysql_56?
752
+ t.datetime :written_on, precision: 6
753
+ else
754
+ t.datetime :written_on
755
+ end
756
+ t.time :bonus_time
757
+ t.date :last_read
758
+ # use VARCHAR2(4000) instead of CLOB datatype as CLOB data type has many limitations in
759
+ # Oracle SELECT WHERE clause which causes many unit test failures
760
+ if current_adapter?(:OracleAdapter) || current_adapter?(:IBM_DBAdapter)
761
+ t.string :content, limit: 4000
762
+ t.string :important, limit: 4000
763
+ else
764
+ t.text :content
765
+ t.text :important
766
+ end
767
+ t.boolean :approved, default: true
768
+ t.integer :replies_count, default: 0
769
+ t.integer :unique_replies_count, default: 0
770
+ t.integer :parent_id
771
+ t.string :parent_title
772
+ t.string :type
773
+ t.string :group
774
+ t.timestamps null: true
775
+ end
776
+
777
+ create_table :toys, primary_key: :toy_id, force: true do |t|
778
+ t.string :name
779
+ t.integer :pet_id, :integer
780
+ t.timestamps null: false
781
+ end
782
+
783
+ create_table :traffic_lights, force: true do |t|
784
+ t.string :location
785
+ t.string :state
786
+ t.text :long_state, null: false
787
+ t.datetime :created_at
788
+ t.datetime :updated_at
789
+ end
790
+
791
+ create_table :treasures, force: true do |t|
792
+ t.column :name, :string
793
+ t.column :type, :string
794
+ t.column :looter_id, :integer
795
+ t.column :looter_type, :string
796
+ t.belongs_to :ship
797
+ end
798
+
799
+ create_table :tyres, force: true do |t|
800
+ t.integer :car_id
801
+ end
802
+
803
+ create_table :variants, force: true do |t|
804
+ t.references :product
805
+ t.string :name
806
+ end
807
+
808
+ create_table :vertices, force: true do |t|
809
+ t.column :label, :string
810
+ end
811
+
812
+ create_table 'warehouse_things', force: true do |t|
813
+ t.integer :value
814
+ end
815
+
816
+ [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each do |t|
817
+ create_table(t, force: true) { }
818
+ end
819
+
820
+ # NOTE - the following 4 tables are used by models that have :inverse_of options on the associations
821
+ create_table :men, force: true do |t|
822
+ t.string :name
823
+ end
824
+
825
+ create_table :faces, force: true do |t|
826
+ t.string :description
827
+ t.integer :man_id
828
+ t.integer :polymorphic_man_id
829
+ t.string :polymorphic_man_type
830
+ t.integer :poly_man_without_inverse_id
831
+ t.string :poly_man_without_inverse_type
832
+ t.integer :horrible_polymorphic_man_id
833
+ t.string :horrible_polymorphic_man_type
834
+ end
835
+
836
+ create_table :interests, force: true do |t|
837
+ t.string :topic
838
+ t.integer :man_id
839
+ t.integer :polymorphic_man_id
840
+ t.string :polymorphic_man_type
841
+ t.integer :zine_id
842
+ end
843
+
844
+ create_table :wheels, force: true do |t|
845
+ t.references :wheelable, polymorphic: true
846
+ end
847
+
848
+ create_table :zines, force: true do |t|
849
+ t.string :title
850
+ end
851
+
852
+ create_table :countries, force: true, id: false, primary_key: 'country_id' do |t|
853
+ t.string :country_id
854
+ t.string :name
855
+ end
856
+ create_table :treaties, force: true, id: false, primary_key: 'treaty_id' do |t|
857
+ t.string :treaty_id
858
+ t.string :name
859
+ end
860
+ create_table :countries_treaties, force: true, id: false do |t|
861
+ t.string :country_id, null: false
862
+ t.string :treaty_id, null: false
863
+ end
864
+
865
+ create_table :liquid, force: true do |t|
866
+ t.string :name
867
+ end
868
+ create_table :molecules, force: true do |t|
869
+ t.integer :liquid_id
870
+ t.string :name
871
+ end
872
+ create_table :electrons, force: true do |t|
873
+ t.integer :molecule_id
874
+ t.string :name
875
+ end
876
+ create_table :weirds, force: true do |t|
877
+ #t.string 'a$b'
878
+ #t.string 'なまえ'
879
+ #t.string 'from'
880
+
881
+ t.string 'test1'
882
+ t.string 'test2'
883
+ t.string 'test3'
884
+ end
885
+
886
+ create_table :trees, force: true do |t|
887
+ t.string :name
888
+ t.datetime :updated_at
889
+ end
890
+
891
+ create_table :hotels, force: true do |t|
892
+ end
893
+ create_table :departments, force: true do |t|
894
+ t.integer :hotel_id
895
+ end
896
+ create_table :cake_designers, force: true do |t|
897
+ end
898
+ create_table :drink_designers, force: true do |t|
899
+ end
900
+ create_table :chefs, force: true do |t|
901
+ t.integer :employable_id
902
+ t.string :employable_type
903
+ t.integer :department_id
904
+ t.string :employable_list_type
905
+ t.integer :employable_list_id
906
+ end
907
+
908
+ create_table :records, force: true do |t|
909
+ end
910
+
911
+ except 'SQLite' do
912
+ # fk_test_has_fk should be before fk_test_has_pk
913
+ create_table :fk_test_has_fk, force: true do |t|
914
+ t.integer :fk_id, null: false
915
+ end
916
+
917
+ create_table :fk_test_has_pk, force: true, primary_key: "pk_id" do |t|
918
+ end
919
+
920
+ add_foreign_key :fk_test_has_fk, :fk_test_has_pk, column: "fk_id", name: "fk_name", primary_key: "pk_id"
921
+ add_foreign_key :lessons_students, :students
922
+ end
923
+
924
+ create_table :overloaded_types, force: true do |t|
925
+ t.float :overloaded_float, default: 500
926
+ t.float :unoverloaded_float
927
+ t.string :overloaded_string_with_limit, limit: 255
928
+ t.string :string_with_default, default: 'the original default'
929
+ end
930
+
931
+ create_table :test_with_keyword_column_name, force: true do |t|
932
+ t.string :desc
933
+ end
934
+ end
935
+
936
+ Course.connection.create_table :courses, force: true do |t|
937
+ t.column :name, :string, null: false
938
+ t.column :college_id, :integer
939
+ end
940
+
941
+ College.connection.create_table :colleges, force: true do |t|
942
+ t.column :name, :string, null: false
943
+ end
944
+
945
+ Professor.connection.create_table :professors, force: true do |t|
946
+ t.column :name, :string, null: false
947
+ end
948
+
949
+ Professor.connection.create_table :courses_professors, id: false, force: true do |t|
950
+ t.references :course
951
+ t.references :professor
952
+ end