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