ibm_db 4.0.0-x86-mingw32 → 5.1.0-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 (576) 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.h +3 -0
  9. data/ext/ibm_db-i386-mingw32.def +2 -0
  10. data/ext/ibm_db.c +11879 -11887
  11. data/ext/ibm_db.o +0 -0
  12. data/ext/ibm_db.so +0 -0
  13. data/ext/mkmf.log +110 -0
  14. data/ext/ruby_ibm_db.h +241 -241
  15. data/ext/ruby_ibm_db_cli.c +866 -866
  16. data/ext/ruby_ibm_db_cli.h +500 -500
  17. data/ext/ruby_ibm_db_cli.o +0 -0
  18. data/ext/unicode_support_version.h +3 -0
  19. data/init.rb +41 -41
  20. data/lib/IBM_DB.rb +27 -27
  21. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +3593 -3452
  22. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +5 -5
  23. data/lib/active_record/vendor/db2-i5-zOS.yaml +328 -328
  24. data/lib/mswin32/ibm_db.rb +94 -90
  25. data/lib/mswin32/rb2x/i386/ruby26/ibm_db.so +0 -0
  26. data/lib/mswin32/rb2x/i386/ruby27/ibm_db.so +0 -0
  27. data/test/active_record/connection_adapters/fake_adapter.rb +49 -49
  28. data/test/assets/example.log +1 -1
  29. data/test/assets/test.txt +1 -1
  30. data/test/cases/adapter_test.rb +351 -351
  31. data/test/cases/adapters/mysql2/active_schema_test.rb +193 -193
  32. data/test/cases/adapters/mysql2/bind_parameter_test.rb +50 -50
  33. data/test/cases/adapters/mysql2/boolean_test.rb +100 -100
  34. data/test/cases/adapters/mysql2/case_sensitivity_test.rb +63 -63
  35. data/test/cases/adapters/mysql2/charset_collation_test.rb +54 -54
  36. data/test/cases/adapters/mysql2/connection_test.rb +210 -210
  37. data/test/cases/adapters/mysql2/datetime_precision_quoting_test.rb +45 -45
  38. data/test/cases/adapters/mysql2/enum_test.rb +26 -26
  39. data/test/cases/adapters/mysql2/explain_test.rb +21 -21
  40. data/test/cases/adapters/mysql2/json_test.rb +195 -195
  41. data/test/cases/adapters/mysql2/mysql2_adapter_test.rb +83 -83
  42. data/test/cases/adapters/mysql2/reserved_word_test.rb +152 -152
  43. data/test/cases/adapters/mysql2/schema_migrations_test.rb +59 -59
  44. data/test/cases/adapters/mysql2/schema_test.rb +126 -126
  45. data/test/cases/adapters/mysql2/sp_test.rb +36 -36
  46. data/test/cases/adapters/mysql2/sql_types_test.rb +14 -14
  47. data/test/cases/adapters/mysql2/table_options_test.rb +42 -42
  48. data/test/cases/adapters/mysql2/unsigned_type_test.rb +66 -66
  49. data/test/cases/adapters/postgresql/active_schema_test.rb +98 -98
  50. data/test/cases/adapters/postgresql/array_test.rb +339 -339
  51. data/test/cases/adapters/postgresql/bit_string_test.rb +82 -82
  52. data/test/cases/adapters/postgresql/bytea_test.rb +134 -134
  53. data/test/cases/adapters/postgresql/case_insensitive_test.rb +26 -26
  54. data/test/cases/adapters/postgresql/change_schema_test.rb +38 -38
  55. data/test/cases/adapters/postgresql/cidr_test.rb +25 -25
  56. data/test/cases/adapters/postgresql/citext_test.rb +78 -78
  57. data/test/cases/adapters/postgresql/collation_test.rb +53 -53
  58. data/test/cases/adapters/postgresql/composite_test.rb +132 -132
  59. data/test/cases/adapters/postgresql/connection_test.rb +257 -257
  60. data/test/cases/adapters/postgresql/datatype_test.rb +92 -92
  61. data/test/cases/adapters/postgresql/domain_test.rb +47 -47
  62. data/test/cases/adapters/postgresql/enum_test.rb +91 -91
  63. data/test/cases/adapters/postgresql/explain_test.rb +20 -20
  64. data/test/cases/adapters/postgresql/extension_migration_test.rb +63 -63
  65. data/test/cases/adapters/postgresql/full_text_test.rb +44 -44
  66. data/test/cases/adapters/postgresql/geometric_test.rb +378 -378
  67. data/test/cases/adapters/postgresql/hstore_test.rb +382 -382
  68. data/test/cases/adapters/postgresql/infinity_test.rb +69 -69
  69. data/test/cases/adapters/postgresql/integer_test.rb +25 -25
  70. data/test/cases/adapters/postgresql/json_test.rb +237 -237
  71. data/test/cases/adapters/postgresql/ltree_test.rb +53 -53
  72. data/test/cases/adapters/postgresql/money_test.rb +96 -96
  73. data/test/cases/adapters/postgresql/network_test.rb +94 -94
  74. data/test/cases/adapters/postgresql/numbers_test.rb +49 -49
  75. data/test/cases/adapters/postgresql/postgresql_adapter_test.rb +405 -405
  76. data/test/cases/adapters/postgresql/prepared_statements_test.rb +22 -22
  77. data/test/cases/adapters/postgresql/quoting_test.rb +44 -44
  78. data/test/cases/adapters/postgresql/range_test.rb +343 -343
  79. data/test/cases/adapters/postgresql/referential_integrity_test.rb +111 -111
  80. data/test/cases/adapters/postgresql/rename_table_test.rb +34 -34
  81. data/test/cases/adapters/postgresql/schema_authorization_test.rb +119 -119
  82. data/test/cases/adapters/postgresql/schema_test.rb +597 -597
  83. data/test/cases/adapters/postgresql/serial_test.rb +154 -154
  84. data/test/cases/adapters/postgresql/statement_pool_test.rb +41 -41
  85. data/test/cases/adapters/postgresql/timestamp_test.rb +90 -90
  86. data/test/cases/adapters/postgresql/type_lookup_test.rb +33 -33
  87. data/test/cases/adapters/postgresql/utils_test.rb +62 -62
  88. data/test/cases/adapters/postgresql/uuid_test.rb +294 -294
  89. data/test/cases/adapters/postgresql/xml_test.rb +54 -54
  90. data/test/cases/adapters/sqlite3/collation_test.rb +53 -53
  91. data/test/cases/adapters/sqlite3/copy_table_test.rb +98 -98
  92. data/test/cases/adapters/sqlite3/explain_test.rb +21 -21
  93. data/test/cases/adapters/sqlite3/quoting_test.rb +101 -101
  94. data/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +441 -441
  95. data/test/cases/adapters/sqlite3/sqlite3_create_folder_test.rb +24 -24
  96. data/test/cases/adapters/sqlite3/statement_pool_test.rb +20 -20
  97. data/test/cases/aggregations_test.rb +168 -168
  98. data/test/cases/ar_schema_test.rb +146 -146
  99. data/test/cases/associations/association_scope_test.rb +16 -16
  100. data/test/cases/associations/belongs_to_associations_test.rb +1141 -1141
  101. data/test/cases/associations/bidirectional_destroy_dependencies_test.rb +41 -41
  102. data/test/cases/associations/callbacks_test.rb +190 -190
  103. data/test/cases/associations/cascaded_eager_loading_test.rb +188 -188
  104. data/test/cases/associations/eager_load_includes_full_sti_class_test.rb +36 -36
  105. data/test/cases/associations/eager_load_nested_include_test.rb +126 -126
  106. data/test/cases/associations/eager_singularization_test.rb +148 -148
  107. data/test/cases/associations/eager_test.rb +1514 -1514
  108. data/test/cases/associations/extension_test.rb +87 -87
  109. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +1004 -1004
  110. data/test/cases/associations/has_many_associations_test.rb +2501 -2501
  111. data/test/cases/associations/has_many_through_associations_test.rb +1271 -1271
  112. data/test/cases/associations/has_one_associations_test.rb +707 -707
  113. data/test/cases/associations/has_one_through_associations_test.rb +383 -383
  114. data/test/cases/associations/inner_join_association_test.rb +139 -139
  115. data/test/cases/associations/inverse_associations_test.rb +733 -733
  116. data/test/cases/associations/join_model_test.rb +777 -777
  117. data/test/cases/associations/left_outer_join_association_test.rb +88 -88
  118. data/test/cases/associations/nested_through_associations_test.rb +579 -579
  119. data/test/cases/associations/required_test.rb +102 -102
  120. data/test/cases/associations_test.rb +385 -385
  121. data/test/cases/attribute_decorators_test.rb +126 -125
  122. data/test/cases/attribute_methods/read_test.rb +60 -60
  123. data/test/cases/attribute_methods_test.rb +1009 -1009
  124. data/test/cases/attribute_set_test.rb +270 -270
  125. data/test/cases/attribute_test.rb +246 -246
  126. data/test/cases/attributes_test.rb +253 -253
  127. data/test/cases/autosave_association_test.rb +1708 -1708
  128. data/test/cases/base_test.rb +1713 -1713
  129. data/test/cases/batches_test.rb +489 -489
  130. data/test/cases/binary_test.rb +44 -44
  131. data/test/cases/bind_parameter_test.rb +110 -110
  132. data/test/cases/cache_key_test.rb +26 -25
  133. data/test/cases/calculations_test.rb +798 -798
  134. data/test/cases/callbacks_test.rb +636 -636
  135. data/test/cases/clone_test.rb +40 -40
  136. data/test/cases/coders/json_test.rb +15 -15
  137. data/test/cases/coders/yaml_column_test.rb +63 -63
  138. data/test/cases/collection_cache_key_test.rb +115 -115
  139. data/test/cases/column_alias_test.rb +17 -17
  140. data/test/cases/column_definition_test.rb +92 -92
  141. data/test/cases/comment_test.rb +145 -143
  142. data/test/cases/connection_adapters/adapter_leasing_test.rb +56 -56
  143. data/test/cases/connection_adapters/connection_handler_test.rb +160 -160
  144. data/test/cases/connection_adapters/connection_specification_test.rb +12 -12
  145. data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +255 -255
  146. data/test/cases/connection_adapters/mysql_type_lookup_test.rb +69 -69
  147. data/test/cases/connection_adapters/quoting_test.rb +13 -13
  148. data/test/cases/connection_adapters/schema_cache_test.rb +61 -61
  149. data/test/cases/connection_adapters/type_lookup_test.rb +118 -118
  150. data/test/cases/connection_management_test.rb +112 -112
  151. data/test/cases/connection_pool_test.rb +521 -521
  152. data/test/cases/connection_specification/resolver_test.rb +131 -131
  153. data/test/cases/core_test.rb +112 -112
  154. data/test/cases/counter_cache_test.rb +214 -214
  155. data/test/cases/custom_locking_test.rb +17 -17
  156. data/test/cases/database_statements_test.rb +34 -34
  157. data/test/cases/date_test.rb +44 -44
  158. data/test/cases/date_time_precision_test.rb +107 -106
  159. data/test/cases/date_time_test.rb +61 -61
  160. data/test/cases/defaults_test.rb +219 -218
  161. data/test/cases/dirty_test.rb +763 -763
  162. data/test/cases/disconnected_test.rb +30 -30
  163. data/test/cases/dup_test.rb +157 -157
  164. data/test/cases/enum_test.rb +444 -444
  165. data/test/cases/errors_test.rb +16 -16
  166. data/test/cases/explain_subscriber_test.rb +64 -64
  167. data/test/cases/explain_test.rb +87 -87
  168. data/test/cases/finder_respond_to_test.rb +60 -60
  169. data/test/cases/finder_test.rb +1294 -1294
  170. data/test/cases/fixture_set/file_test.rb +156 -156
  171. data/test/cases/fixtures_test.rb +988 -988
  172. data/test/cases/forbidden_attributes_protection_test.rb +165 -165
  173. data/test/cases/habtm_destroy_order_test.rb +61 -61
  174. data/test/cases/helper.rb +204 -204
  175. data/test/cases/hot_compatibility_test.rb +142 -142
  176. data/test/cases/i18n_test.rb +45 -45
  177. data/test/cases/inheritance_test.rb +606 -606
  178. data/test/cases/integration_test.rb +155 -155
  179. data/test/cases/invalid_connection_test.rb +24 -24
  180. data/test/cases/invertible_migration_test.rb +387 -387
  181. data/test/cases/json_serialization_test.rb +311 -311
  182. data/test/cases/locking_test.rb +493 -493
  183. data/test/cases/log_subscriber_test.rb +225 -225
  184. data/test/cases/migration/change_schema_test.rb +458 -458
  185. data/test/cases/migration/change_table_test.rb +256 -256
  186. data/test/cases/migration/column_attributes_test.rb +176 -176
  187. data/test/cases/migration/column_positioning_test.rb +56 -56
  188. data/test/cases/migration/columns_test.rb +310 -310
  189. data/test/cases/migration/command_recorder_test.rb +350 -350
  190. data/test/cases/migration/compatibility_test.rb +118 -118
  191. data/test/cases/migration/create_join_table_test.rb +157 -157
  192. data/test/cases/migration/foreign_key_test.rb +362 -360
  193. data/test/cases/migration/helper.rb +39 -39
  194. data/test/cases/migration/index_test.rb +218 -218
  195. data/test/cases/migration/logger_test.rb +36 -36
  196. data/test/cases/migration/pending_migrations_test.rb +52 -52
  197. data/test/cases/migration/references_foreign_key_test.rb +221 -216
  198. data/test/cases/migration/references_index_test.rb +101 -101
  199. data/test/cases/migration/references_statements_test.rb +136 -136
  200. data/test/cases/migration/rename_table_test.rb +93 -93
  201. data/test/cases/migration_test.rb +1157 -1157
  202. data/test/cases/migrator_test.rb +471 -470
  203. data/test/cases/mixin_test.rb +68 -68
  204. data/test/cases/modules_test.rb +172 -172
  205. data/test/cases/multiparameter_attributes_test.rb +372 -372
  206. data/test/cases/multiple_db_test.rb +122 -122
  207. data/test/cases/nested_attributes_test.rb +1098 -1098
  208. data/test/cases/nested_attributes_with_callbacks_test.rb +144 -144
  209. data/test/cases/persistence_test.rb +1001 -1001
  210. data/test/cases/pooled_connections_test.rb +81 -81
  211. data/test/cases/primary_keys_test.rb +376 -376
  212. data/test/cases/query_cache_test.rb +446 -446
  213. data/test/cases/quoting_test.rb +202 -202
  214. data/test/cases/readonly_test.rb +119 -119
  215. data/test/cases/reaper_test.rb +85 -85
  216. data/test/cases/reflection_test.rb +509 -509
  217. data/test/cases/relation/delegation_test.rb +63 -63
  218. data/test/cases/relation/merging_test.rb +157 -157
  219. data/test/cases/relation/mutation_test.rb +183 -183
  220. data/test/cases/relation/or_test.rb +92 -92
  221. data/test/cases/relation/predicate_builder_test.rb +16 -16
  222. data/test/cases/relation/record_fetch_warning_test.rb +40 -40
  223. data/test/cases/relation/where_chain_test.rb +105 -105
  224. data/test/cases/relation/where_clause_test.rb +182 -182
  225. data/test/cases/relation/where_test.rb +322 -322
  226. data/test/cases/relation_test.rb +328 -328
  227. data/test/cases/relations_test.rb +2026 -2026
  228. data/test/cases/reload_models_test.rb +22 -22
  229. data/test/cases/result_test.rb +90 -90
  230. data/test/cases/sanitize_test.rb +176 -176
  231. data/test/cases/schema_dumper_test.rb +457 -457
  232. data/test/cases/schema_loading_test.rb +52 -52
  233. data/test/cases/scoping/default_scoping_test.rb +528 -528
  234. data/test/cases/scoping/named_scoping_test.rb +561 -561
  235. data/test/cases/scoping/relation_scoping_test.rb +400 -400
  236. data/test/cases/secure_token_test.rb +32 -32
  237. data/test/cases/serialization_test.rb +104 -104
  238. data/test/cases/serialized_attribute_test.rb +364 -364
  239. data/test/cases/statement_cache_test.rb +136 -136
  240. data/test/cases/store_test.rb +195 -195
  241. data/test/cases/suppressor_test.rb +63 -63
  242. data/test/cases/tasks/database_tasks_test.rb +462 -462
  243. data/test/cases/tasks/mysql_rake_test.rb +345 -345
  244. data/test/cases/tasks/postgresql_rake_test.rb +304 -304
  245. data/test/cases/tasks/sqlite_rake_test.rb +220 -220
  246. data/test/cases/test_case.rb +131 -131
  247. data/test/cases/test_fixtures_test.rb +36 -36
  248. data/test/cases/time_precision_test.rb +103 -102
  249. data/test/cases/timestamp_test.rb +501 -501
  250. data/test/cases/touch_later_test.rb +121 -121
  251. data/test/cases/transaction_callbacks_test.rb +518 -518
  252. data/test/cases/transaction_isolation_test.rb +106 -106
  253. data/test/cases/transactions_test.rb +835 -834
  254. data/test/cases/type/adapter_specific_registry_test.rb +133 -133
  255. data/test/cases/type/date_time_test.rb +14 -14
  256. data/test/cases/type/integer_test.rb +27 -27
  257. data/test/cases/type/string_test.rb +22 -22
  258. data/test/cases/type/type_map_test.rb +177 -177
  259. data/test/cases/type_test.rb +39 -39
  260. data/test/cases/types_test.rb +24 -24
  261. data/test/cases/unconnected_test.rb +33 -33
  262. data/test/cases/validations/absence_validation_test.rb +73 -73
  263. data/test/cases/validations/association_validation_test.rb +97 -97
  264. data/test/cases/validations/i18n_generate_message_validation_test.rb +84 -84
  265. data/test/cases/validations/i18n_validation_test.rb +86 -86
  266. data/test/cases/validations/length_validation_test.rb +79 -79
  267. data/test/cases/validations/presence_validation_test.rb +103 -103
  268. data/test/cases/validations/uniqueness_validation_test.rb +548 -548
  269. data/test/cases/validations_repair_helper.rb +19 -19
  270. data/test/cases/validations_test.rb +194 -194
  271. data/test/cases/view_test.rb +216 -216
  272. data/test/cases/yaml_serialization_test.rb +121 -121
  273. data/test/config.example.yml +97 -97
  274. data/test/config.rb +5 -5
  275. data/test/connections/native_ibm_db/connection.rb +44 -0
  276. data/test/fixtures/accounts.yml +29 -29
  277. data/test/fixtures/admin/accounts.yml +2 -2
  278. data/test/fixtures/admin/users.yml +10 -10
  279. data/test/fixtures/author_addresses.yml +17 -17
  280. data/test/fixtures/author_favorites.yml +3 -3
  281. data/test/fixtures/authors.yml +23 -23
  282. data/test/fixtures/bad_posts.yml +9 -9
  283. data/test/fixtures/binaries.yml +133 -133
  284. data/test/fixtures/books.yml +31 -31
  285. data/test/fixtures/bulbs.yml +5 -5
  286. data/test/fixtures/cars.yml +9 -9
  287. data/test/fixtures/categories.yml +19 -19
  288. data/test/fixtures/categories/special_categories.yml +9 -9
  289. data/test/fixtures/categories/subsubdir/arbitrary_filename.yml +4 -4
  290. data/test/fixtures/categories_ordered.yml +7 -7
  291. data/test/fixtures/categories_posts.yml +31 -31
  292. data/test/fixtures/categorizations.yml +23 -23
  293. data/test/fixtures/clubs.yml +8 -8
  294. data/test/fixtures/collections.yml +3 -3
  295. data/test/fixtures/colleges.yml +3 -3
  296. data/test/fixtures/comments.yml +65 -65
  297. data/test/fixtures/companies.yml +67 -67
  298. data/test/fixtures/computers.yml +10 -10
  299. data/test/fixtures/content.yml +3 -3
  300. data/test/fixtures/content_positions.yml +3 -3
  301. data/test/fixtures/courses.yml +8 -8
  302. data/test/fixtures/customers.yml +25 -25
  303. data/test/fixtures/dashboards.yml +6 -6
  304. data/test/fixtures/dead_parrots.yml +5 -5
  305. data/test/fixtures/developers.yml +22 -22
  306. data/test/fixtures/developers_projects.yml +16 -16
  307. data/test/fixtures/dog_lovers.yml +7 -7
  308. data/test/fixtures/dogs.yml +4 -4
  309. data/test/fixtures/doubloons.yml +3 -3
  310. data/test/fixtures/edges.yml +5 -5
  311. data/test/fixtures/entrants.yml +14 -14
  312. data/test/fixtures/essays.yml +6 -6
  313. data/test/fixtures/faces.yml +11 -11
  314. data/test/fixtures/fk_test_has_fk.yml +3 -3
  315. data/test/fixtures/fk_test_has_pk.yml +1 -1
  316. data/test/fixtures/friendships.yml +4 -4
  317. data/test/fixtures/funny_jokes.yml +10 -10
  318. data/test/fixtures/interests.yml +33 -33
  319. data/test/fixtures/items.yml +3 -3
  320. data/test/fixtures/jobs.yml +7 -7
  321. data/test/fixtures/legacy_things.yml +3 -3
  322. data/test/fixtures/live_parrots.yml +4 -4
  323. data/test/fixtures/mateys.yml +4 -4
  324. data/test/fixtures/member_details.yml +8 -8
  325. data/test/fixtures/member_types.yml +6 -6
  326. data/test/fixtures/members.yml +11 -11
  327. data/test/fixtures/memberships.yml +34 -34
  328. data/test/fixtures/men.yml +5 -5
  329. data/test/fixtures/minimalistics.yml +2 -2
  330. data/test/fixtures/minivans.yml +5 -5
  331. data/test/fixtures/mixed_case_monkeys.yml +6 -6
  332. data/test/fixtures/mixins.yml +29 -29
  333. data/test/fixtures/movies.yml +7 -7
  334. data/test/fixtures/naked/yml/accounts.yml +1 -1
  335. data/test/fixtures/naked/yml/companies.yml +1 -1
  336. data/test/fixtures/naked/yml/courses.yml +1 -1
  337. data/test/fixtures/naked/yml/parrots.yml +2 -2
  338. data/test/fixtures/naked/yml/trees.yml +3 -3
  339. data/test/fixtures/nodes.yml +29 -29
  340. data/test/fixtures/organizations.yml +5 -5
  341. data/test/fixtures/other_comments.yml +6 -6
  342. data/test/fixtures/other_dogs.yml +2 -2
  343. data/test/fixtures/other_posts.yml +7 -7
  344. data/test/fixtures/other_topics.yml +42 -42
  345. data/test/fixtures/owners.yml +9 -9
  346. data/test/fixtures/parrots.yml +27 -27
  347. data/test/fixtures/parrots_pirates.yml +7 -7
  348. data/test/fixtures/people.yml +24 -24
  349. data/test/fixtures/peoples_treasures.yml +3 -3
  350. data/test/fixtures/pets.yml +19 -19
  351. data/test/fixtures/pirates.yml +12 -15
  352. data/test/fixtures/posts.yml +80 -80
  353. data/test/fixtures/price_estimates.yml +16 -16
  354. data/test/fixtures/products.yml +4 -4
  355. data/test/fixtures/projects.yml +7 -7
  356. data/test/fixtures/ratings.yml +14 -14
  357. data/test/fixtures/readers.yml +11 -11
  358. data/test/fixtures/references.yml +17 -17
  359. data/test/fixtures/reserved_words/distinct.yml +5 -5
  360. data/test/fixtures/reserved_words/distinct_select.yml +11 -11
  361. data/test/fixtures/reserved_words/group.yml +14 -14
  362. data/test/fixtures/reserved_words/select.yml +8 -8
  363. data/test/fixtures/reserved_words/values.yml +7 -7
  364. data/test/fixtures/ships.yml +6 -6
  365. data/test/fixtures/speedometers.yml +8 -8
  366. data/test/fixtures/sponsors.yml +12 -12
  367. data/test/fixtures/string_key_objects.yml +7 -7
  368. data/test/fixtures/subscribers.yml +10 -10
  369. data/test/fixtures/subscriptions.yml +12 -12
  370. data/test/fixtures/taggings.yml +78 -78
  371. data/test/fixtures/tags.yml +11 -11
  372. data/test/fixtures/tasks.yml +7 -7
  373. data/test/fixtures/teapots.yml +3 -3
  374. data/test/fixtures/to_be_linked/accounts.yml +2 -2
  375. data/test/fixtures/to_be_linked/users.yml +10 -10
  376. data/test/fixtures/topics.yml +49 -49
  377. data/test/fixtures/toys.yml +14 -14
  378. data/test/fixtures/traffic_lights.yml +9 -9
  379. data/test/fixtures/treasures.yml +10 -10
  380. data/test/fixtures/trees.yml +3 -3
  381. data/test/fixtures/uuid_children.yml +3 -3
  382. data/test/fixtures/uuid_parents.yml +2 -2
  383. data/test/fixtures/variants.yml +4 -4
  384. data/test/fixtures/vegetables.yml +19 -19
  385. data/test/fixtures/vertices.yml +3 -3
  386. data/test/fixtures/warehouse_things.yml +2 -2
  387. data/test/fixtures/zines.yml +5 -5
  388. data/test/migrations/10_urban/9_add_expressions.rb +11 -11
  389. data/test/migrations/decimal/1_give_me_big_numbers.rb +15 -15
  390. data/test/migrations/magic/1_currencies_have_symbols.rb +12 -12
  391. data/test/migrations/missing/1000_people_have_middle_names.rb +9 -9
  392. data/test/migrations/missing/1_people_have_last_names.rb +9 -9
  393. data/test/migrations/missing/3_we_need_reminders.rb +12 -12
  394. data/test/migrations/missing/4_innocent_jointable.rb +12 -12
  395. data/test/migrations/rename/1_we_need_things.rb +11 -11
  396. data/test/migrations/rename/2_rename_things.rb +9 -9
  397. data/test/migrations/to_copy/1_people_have_hobbies.rb +9 -9
  398. data/test/migrations/to_copy/2_people_have_descriptions.rb +9 -9
  399. data/test/migrations/to_copy2/1_create_articles.rb +7 -7
  400. data/test/migrations/to_copy2/2_create_comments.rb +7 -7
  401. data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +9 -9
  402. data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +9 -9
  403. data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +9 -9
  404. data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +7 -7
  405. data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +7 -7
  406. data/test/migrations/valid/1_valid_people_have_last_names.rb +9 -9
  407. data/test/migrations/valid/2_we_need_reminders.rb +12 -12
  408. data/test/migrations/valid/3_innocent_jointable.rb +12 -12
  409. data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +9 -9
  410. data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +12 -12
  411. data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +12 -12
  412. data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +9 -9
  413. data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +12 -12
  414. data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +12 -12
  415. data/test/migrations/version_check/20131219224947_migration_version_check.rb +8 -8
  416. data/test/models/admin.rb +5 -5
  417. data/test/models/admin/account.rb +3 -3
  418. data/test/models/admin/user.rb +40 -40
  419. data/test/models/aircraft.rb +5 -5
  420. data/test/models/arunit2_model.rb +3 -3
  421. data/test/models/author.rb +209 -209
  422. data/test/models/auto_id.rb +4 -4
  423. data/test/models/autoloadable/extra_firm.rb +2 -2
  424. data/test/models/binary.rb +2 -2
  425. data/test/models/bird.rb +12 -12
  426. data/test/models/book.rb +23 -23
  427. data/test/models/boolean.rb +2 -2
  428. data/test/models/bulb.rb +52 -52
  429. data/test/models/cake_designer.rb +3 -3
  430. data/test/models/car.rb +29 -29
  431. data/test/models/carrier.rb +2 -2
  432. data/test/models/cat.rb +10 -10
  433. data/test/models/categorization.rb +19 -19
  434. data/test/models/category.rb +35 -35
  435. data/test/models/chef.rb +8 -8
  436. data/test/models/citation.rb +3 -3
  437. data/test/models/club.rb +25 -25
  438. data/test/models/college.rb +10 -10
  439. data/test/models/column.rb +3 -3
  440. data/test/models/column_name.rb +3 -3
  441. data/test/models/comment.rb +76 -76
  442. data/test/models/company.rb +230 -230
  443. data/test/models/company_in_module.rb +98 -98
  444. data/test/models/computer.rb +3 -3
  445. data/test/models/contact.rb +41 -41
  446. data/test/models/content.rb +40 -40
  447. data/test/models/contract.rb +20 -20
  448. data/test/models/country.rb +7 -7
  449. data/test/models/course.rb +6 -6
  450. data/test/models/customer.rb +83 -83
  451. data/test/models/customer_carrier.rb +14 -14
  452. data/test/models/dashboard.rb +3 -3
  453. data/test/models/default.rb +2 -2
  454. data/test/models/department.rb +4 -4
  455. data/test/models/developer.rb +274 -274
  456. data/test/models/dog.rb +5 -5
  457. data/test/models/dog_lover.rb +5 -5
  458. data/test/models/doubloon.rb +12 -12
  459. data/test/models/drink_designer.rb +3 -3
  460. data/test/models/edge.rb +5 -5
  461. data/test/models/electron.rb +5 -5
  462. data/test/models/engine.rb +4 -4
  463. data/test/models/entrant.rb +3 -3
  464. data/test/models/essay.rb +5 -5
  465. data/test/models/event.rb +3 -3
  466. data/test/models/eye.rb +37 -37
  467. data/test/models/face.rb +9 -9
  468. data/test/models/friendship.rb +6 -6
  469. data/test/models/guid.rb +2 -2
  470. data/test/models/guitar.rb +4 -4
  471. data/test/models/hotel.rb +11 -11
  472. data/test/models/image.rb +3 -3
  473. data/test/models/interest.rb +5 -5
  474. data/test/models/invoice.rb +4 -4
  475. data/test/models/item.rb +7 -7
  476. data/test/models/job.rb +7 -7
  477. data/test/models/joke.rb +7 -7
  478. data/test/models/keyboard.rb +3 -3
  479. data/test/models/legacy_thing.rb +3 -3
  480. data/test/models/lesson.rb +11 -11
  481. data/test/models/line_item.rb +3 -3
  482. data/test/models/liquid.rb +4 -4
  483. data/test/models/man.rb +11 -11
  484. data/test/models/matey.rb +4 -4
  485. data/test/models/member.rb +42 -42
  486. data/test/models/member_detail.rb +8 -8
  487. data/test/models/member_type.rb +3 -3
  488. data/test/models/membership.rb +35 -35
  489. data/test/models/mentor.rb +2 -2
  490. data/test/models/minimalistic.rb +2 -2
  491. data/test/models/minivan.rb +9 -9
  492. data/test/models/mixed_case_monkey.rb +3 -3
  493. data/test/models/mocktail_designer.rb +2 -2
  494. data/test/models/molecule.rb +6 -6
  495. data/test/models/movie.rb +5 -5
  496. data/test/models/node.rb +5 -5
  497. data/test/models/non_primary_key.rb +2 -2
  498. data/test/models/notification.rb +3 -3
  499. data/test/models/order.rb +4 -4
  500. data/test/models/organization.rb +14 -14
  501. data/test/models/other_dog.rb +5 -5
  502. data/test/models/owner.rb +37 -37
  503. data/test/models/parrot.rb +28 -28
  504. data/test/models/person.rb +142 -142
  505. data/test/models/personal_legacy_thing.rb +4 -4
  506. data/test/models/pet.rb +18 -18
  507. data/test/models/pet_treasure.rb +6 -6
  508. data/test/models/pirate.rb +92 -92
  509. data/test/models/possession.rb +3 -3
  510. data/test/models/post.rb +273 -273
  511. data/test/models/price_estimate.rb +4 -4
  512. data/test/models/professor.rb +5 -5
  513. data/test/models/project.rb +40 -40
  514. data/test/models/publisher.rb +2 -2
  515. data/test/models/publisher/article.rb +4 -4
  516. data/test/models/publisher/magazine.rb +3 -3
  517. data/test/models/rating.rb +4 -4
  518. data/test/models/reader.rb +23 -23
  519. data/test/models/recipe.rb +3 -3
  520. data/test/models/record.rb +2 -2
  521. data/test/models/reference.rb +22 -22
  522. data/test/models/reply.rb +61 -61
  523. data/test/models/ship.rb +39 -39
  524. data/test/models/ship_part.rb +8 -8
  525. data/test/models/shop.rb +17 -17
  526. data/test/models/shop_account.rb +6 -6
  527. data/test/models/speedometer.rb +6 -6
  528. data/test/models/sponsor.rb +7 -7
  529. data/test/models/string_key_object.rb +3 -3
  530. data/test/models/student.rb +4 -4
  531. data/test/models/subject.rb +16 -16
  532. data/test/models/subscriber.rb +8 -8
  533. data/test/models/subscription.rb +4 -4
  534. data/test/models/tag.rb +13 -13
  535. data/test/models/tagging.rb +13 -13
  536. data/test/models/task.rb +5 -5
  537. data/test/models/topic.rb +118 -118
  538. data/test/models/toy.rb +6 -6
  539. data/test/models/traffic_light.rb +4 -4
  540. data/test/models/treasure.rb +14 -14
  541. data/test/models/treaty.rb +7 -7
  542. data/test/models/tree.rb +3 -3
  543. data/test/models/tuning_peg.rb +4 -4
  544. data/test/models/tyre.rb +11 -11
  545. data/test/models/user.rb +14 -14
  546. data/test/models/uuid_child.rb +3 -3
  547. data/test/models/uuid_item.rb +6 -6
  548. data/test/models/uuid_parent.rb +3 -3
  549. data/test/models/vegetables.rb +24 -24
  550. data/test/models/vehicle.rb +6 -6
  551. data/test/models/vertex.rb +9 -9
  552. data/test/models/warehouse_thing.rb +5 -5
  553. data/test/models/wheel.rb +3 -3
  554. data/test/models/without_table.rb +3 -3
  555. data/test/models/zine.rb +3 -3
  556. data/test/schema/i5/ibm_db_specific_schema.rb +137 -0
  557. data/test/schema/ids/ibm_db_specific_schema.rb +140 -0
  558. data/test/schema/luw/ibm_db_specific_schema.rb +137 -0
  559. data/test/schema/mysql2_specific_schema.rb +68 -68
  560. data/test/schema/oracle_specific_schema.rb +40 -40
  561. data/test/schema/postgresql_specific_schema.rb +114 -114
  562. data/test/schema/schema.rb +1057 -1057
  563. data/test/schema/schema.rb.original +1057 -1057
  564. data/test/schema/sqlite_specific_schema.rb +18 -18
  565. data/test/schema/zOS/ibm_db_specific_schema.rb +208 -0
  566. data/test/support/config.rb +43 -43
  567. data/test/support/connection.rb +23 -23
  568. data/test/support/connection_helper.rb +14 -14
  569. data/test/support/ddl_helper.rb +8 -8
  570. data/test/support/schema_dumping_helper.rb +20 -20
  571. data/test/support/yaml_compatibility_fixtures/rails_4_1.yml +22 -22
  572. data/test/support/yaml_compatibility_fixtures/rails_4_2_0.yml +182 -182
  573. metadata +30 -14
  574. data/lib/mswin32/rb2x/i386/ibm_db.so +0 -0
  575. data/test/fixtures/author_addresses.original +0 -11
  576. data/test/fixtures/authors.original +0 -17
@@ -1,256 +1,256 @@
1
- require "cases/migration/helper"
2
-
3
- module ActiveRecord
4
- class Migration
5
- class TableTest < ActiveRecord::TestCase
6
- def setup
7
- @connection = Minitest::Mock.new
8
- end
9
-
10
- teardown do
11
- assert @connection.verify
12
- end
13
-
14
- def with_change_table
15
- yield ActiveRecord::Base.connection.update_table_definition(:delete_me, @connection)
16
- end
17
-
18
- def test_references_column_type_adds_id
19
- with_change_table do |t|
20
- @connection.expect :add_reference, nil, [:delete_me, :customer, {}]
21
- t.references :customer
22
- end
23
- end
24
-
25
- def test_remove_references_column_type_removes_id
26
- with_change_table do |t|
27
- @connection.expect :remove_reference, nil, [:delete_me, :customer, {}]
28
- t.remove_references :customer
29
- end
30
- end
31
-
32
- def test_add_belongs_to_works_like_add_references
33
- with_change_table do |t|
34
- @connection.expect :add_reference, nil, [:delete_me, :customer, {}]
35
- t.belongs_to :customer
36
- end
37
- end
38
-
39
- def test_remove_belongs_to_works_like_remove_references
40
- with_change_table do |t|
41
- @connection.expect :remove_reference, nil, [:delete_me, :customer, {}]
42
- t.remove_belongs_to :customer
43
- end
44
- end
45
-
46
- def test_references_column_type_with_polymorphic_adds_type
47
- with_change_table do |t|
48
- @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true]
49
- t.references :taggable, polymorphic: true
50
- end
51
- end
52
-
53
- def test_remove_references_column_type_with_polymorphic_removes_type
54
- with_change_table do |t|
55
- @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true]
56
- t.remove_references :taggable, polymorphic: true
57
- end
58
- end
59
-
60
- def test_references_column_type_with_polymorphic_and_options_null_is_false_adds_table_flag
61
- with_change_table do |t|
62
- @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true, null: false]
63
- t.references :taggable, polymorphic: true, null: false
64
- end
65
- end
66
-
67
- def test_remove_references_column_type_with_polymorphic_and_options_null_is_false_removes_table_flag
68
- with_change_table do |t|
69
- @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true, null: false]
70
- t.remove_references :taggable, polymorphic: true, null: false
71
- end
72
- end
73
-
74
- def test_references_column_type_with_polymorphic_and_type
75
- with_change_table do |t|
76
- @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true, type: :string]
77
- t.references :taggable, polymorphic: true, type: :string
78
- end
79
- end
80
-
81
- def test_remove_references_column_type_with_polymorphic_and_type
82
- with_change_table do |t|
83
- @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true, type: :string]
84
- t.remove_references :taggable, polymorphic: true, type: :string
85
- end
86
- end
87
-
88
- def test_timestamps_creates_updated_at_and_created_at
89
- with_change_table do |t|
90
- @connection.expect :add_timestamps, nil, [:delete_me, null: true]
91
- t.timestamps null: true
92
- end
93
- end
94
-
95
- def test_remove_timestamps_creates_updated_at_and_created_at
96
- with_change_table do |t|
97
- @connection.expect :remove_timestamps, nil, [:delete_me, { null: true }]
98
- t.remove_timestamps({ null: true })
99
- end
100
- end
101
-
102
- def test_primary_key_creates_primary_key_column
103
- with_change_table do |t|
104
- @connection.expect :add_column, nil, [:delete_me, :id, :primary_key, primary_key: true, first: true]
105
- t.primary_key :id, first: true
106
- end
107
- end
108
-
109
- def test_integer_creates_integer_column
110
- with_change_table do |t|
111
- @connection.expect :add_column, nil, [:delete_me, :foo, :integer, {}]
112
- @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
113
- t.integer :foo, :bar
114
- end
115
- end
116
-
117
- def test_bigint_creates_bigint_column
118
- with_change_table do |t|
119
- @connection.expect :add_column, nil, [:delete_me, :foo, :bigint, {}]
120
- @connection.expect :add_column, nil, [:delete_me, :bar, :bigint, {}]
121
- t.bigint :foo, :bar
122
- end
123
- end
124
-
125
- def test_string_creates_string_column
126
- with_change_table do |t|
127
- @connection.expect :add_column, nil, [:delete_me, :foo, :string, {}]
128
- @connection.expect :add_column, nil, [:delete_me, :bar, :string, {}]
129
- t.string :foo, :bar
130
- end
131
- end
132
-
133
- if current_adapter?(:PostgreSQLAdapter)
134
- def test_json_creates_json_column
135
- with_change_table do |t|
136
- @connection.expect :add_column, nil, [:delete_me, :foo, :json, {}]
137
- @connection.expect :add_column, nil, [:delete_me, :bar, :json, {}]
138
- t.json :foo, :bar
139
- end
140
- end
141
-
142
- def test_xml_creates_xml_column
143
- with_change_table do |t|
144
- @connection.expect :add_column, nil, [:delete_me, :foo, :xml, {}]
145
- @connection.expect :add_column, nil, [:delete_me, :bar, :xml, {}]
146
- t.xml :foo, :bar
147
- end
148
- end
149
- end
150
-
151
- def test_column_creates_column
152
- with_change_table do |t|
153
- @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
154
- t.column :bar, :integer
155
- end
156
- end
157
-
158
- def test_column_creates_column_with_options
159
- with_change_table do |t|
160
- @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {:null => false}]
161
- t.column :bar, :integer, :null => false
162
- end
163
- end
164
-
165
- def test_index_creates_index
166
- with_change_table do |t|
167
- @connection.expect :add_index, nil, [:delete_me, :bar, {}]
168
- t.index :bar
169
- end
170
- end
171
-
172
- def test_index_creates_index_with_options
173
- with_change_table do |t|
174
- @connection.expect :add_index, nil, [:delete_me, :bar, {:unique => true}]
175
- t.index :bar, :unique => true
176
- end
177
- end
178
-
179
- def test_index_exists
180
- with_change_table do |t|
181
- @connection.expect :index_exists?, nil, [:delete_me, :bar, {}]
182
- t.index_exists?(:bar)
183
- end
184
- end
185
-
186
- def test_index_exists_with_options
187
- with_change_table do |t|
188
- @connection.expect :index_exists?, nil, [:delete_me, :bar, {:unique => true}]
189
- t.index_exists?(:bar, :unique => true)
190
- end
191
- end
192
-
193
- def test_rename_index_renames_index
194
- with_change_table do |t|
195
- @connection.expect :rename_index, nil, [:delete_me, :bar, :baz]
196
- t.rename_index :bar, :baz
197
- end
198
- end
199
-
200
- def test_change_changes_column
201
- with_change_table do |t|
202
- @connection.expect :change_column, nil, [:delete_me, :bar, :string, {}]
203
- t.change :bar, :string
204
- end
205
- end
206
-
207
- def test_change_changes_column_with_options
208
- with_change_table do |t|
209
- @connection.expect :change_column, nil, [:delete_me, :bar, :string, {:null => true}]
210
- t.change :bar, :string, :null => true
211
- end
212
- end
213
-
214
- def test_change_default_changes_column
215
- with_change_table do |t|
216
- @connection.expect :change_column_default, nil, [:delete_me, :bar, :string]
217
- t.change_default :bar, :string
218
- end
219
- end
220
-
221
- def test_remove_drops_single_column
222
- with_change_table do |t|
223
- @connection.expect :remove_columns, nil, [:delete_me, :bar]
224
- t.remove :bar
225
- end
226
- end
227
-
228
- def test_remove_drops_multiple_columns
229
- with_change_table do |t|
230
- @connection.expect :remove_columns, nil, [:delete_me, :bar, :baz]
231
- t.remove :bar, :baz
232
- end
233
- end
234
-
235
- def test_remove_index_removes_index_with_options
236
- with_change_table do |t|
237
- @connection.expect :remove_index, nil, [:delete_me, {:unique => true}]
238
- t.remove_index :unique => true
239
- end
240
- end
241
-
242
- def test_rename_renames_column
243
- with_change_table do |t|
244
- @connection.expect :rename_column, nil, [:delete_me, :bar, :baz]
245
- t.rename :bar, :baz
246
- end
247
- end
248
-
249
- def test_table_name_set
250
- with_change_table do |t|
251
- assert_equal :delete_me, t.name
252
- end
253
- end
254
- end
255
- end
256
- end
1
+ require "cases/migration/helper"
2
+
3
+ module ActiveRecord
4
+ class Migration
5
+ class TableTest < ActiveRecord::TestCase
6
+ def setup
7
+ @connection = Minitest::Mock.new
8
+ end
9
+
10
+ teardown do
11
+ assert @connection.verify
12
+ end
13
+
14
+ def with_change_table
15
+ yield ActiveRecord::Base.connection.update_table_definition(:delete_me, @connection)
16
+ end
17
+
18
+ def test_references_column_type_adds_id
19
+ with_change_table do |t|
20
+ @connection.expect :add_reference, nil, [:delete_me, :customer, {}]
21
+ t.references :customer
22
+ end
23
+ end
24
+
25
+ def test_remove_references_column_type_removes_id
26
+ with_change_table do |t|
27
+ @connection.expect :remove_reference, nil, [:delete_me, :customer, {}]
28
+ t.remove_references :customer
29
+ end
30
+ end
31
+
32
+ def test_add_belongs_to_works_like_add_references
33
+ with_change_table do |t|
34
+ @connection.expect :add_reference, nil, [:delete_me, :customer, {}]
35
+ t.belongs_to :customer
36
+ end
37
+ end
38
+
39
+ def test_remove_belongs_to_works_like_remove_references
40
+ with_change_table do |t|
41
+ @connection.expect :remove_reference, nil, [:delete_me, :customer, {}]
42
+ t.remove_belongs_to :customer
43
+ end
44
+ end
45
+
46
+ def test_references_column_type_with_polymorphic_adds_type
47
+ with_change_table do |t|
48
+ @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true]
49
+ t.references :taggable, polymorphic: true
50
+ end
51
+ end
52
+
53
+ def test_remove_references_column_type_with_polymorphic_removes_type
54
+ with_change_table do |t|
55
+ @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true]
56
+ t.remove_references :taggable, polymorphic: true
57
+ end
58
+ end
59
+
60
+ def test_references_column_type_with_polymorphic_and_options_null_is_false_adds_table_flag
61
+ with_change_table do |t|
62
+ @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true, null: false]
63
+ t.references :taggable, polymorphic: true, null: false
64
+ end
65
+ end
66
+
67
+ def test_remove_references_column_type_with_polymorphic_and_options_null_is_false_removes_table_flag
68
+ with_change_table do |t|
69
+ @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true, null: false]
70
+ t.remove_references :taggable, polymorphic: true, null: false
71
+ end
72
+ end
73
+
74
+ def test_references_column_type_with_polymorphic_and_type
75
+ with_change_table do |t|
76
+ @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true, type: :string]
77
+ t.references :taggable, polymorphic: true, type: :string
78
+ end
79
+ end
80
+
81
+ def test_remove_references_column_type_with_polymorphic_and_type
82
+ with_change_table do |t|
83
+ @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true, type: :string]
84
+ t.remove_references :taggable, polymorphic: true, type: :string
85
+ end
86
+ end
87
+
88
+ def test_timestamps_creates_updated_at_and_created_at
89
+ with_change_table do |t|
90
+ @connection.expect :add_timestamps, nil, [:delete_me, null: true]
91
+ t.timestamps null: true
92
+ end
93
+ end
94
+
95
+ def test_remove_timestamps_creates_updated_at_and_created_at
96
+ with_change_table do |t|
97
+ @connection.expect :remove_timestamps, nil, [:delete_me, { null: true }]
98
+ t.remove_timestamps({ null: true })
99
+ end
100
+ end
101
+
102
+ def test_primary_key_creates_primary_key_column
103
+ with_change_table do |t|
104
+ @connection.expect :add_column, nil, [:delete_me, :id, :primary_key, primary_key: true, first: true]
105
+ t.primary_key :id, first: true
106
+ end
107
+ end
108
+
109
+ def test_integer_creates_integer_column
110
+ with_change_table do |t|
111
+ @connection.expect :add_column, nil, [:delete_me, :foo, :integer, {}]
112
+ @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
113
+ t.integer :foo, :bar
114
+ end
115
+ end
116
+
117
+ def test_bigint_creates_bigint_column
118
+ with_change_table do |t|
119
+ @connection.expect :add_column, nil, [:delete_me, :foo, :bigint, {}]
120
+ @connection.expect :add_column, nil, [:delete_me, :bar, :bigint, {}]
121
+ t.bigint :foo, :bar
122
+ end
123
+ end
124
+
125
+ def test_string_creates_string_column
126
+ with_change_table do |t|
127
+ @connection.expect :add_column, nil, [:delete_me, :foo, :string, {}]
128
+ @connection.expect :add_column, nil, [:delete_me, :bar, :string, {}]
129
+ t.string :foo, :bar
130
+ end
131
+ end
132
+
133
+ if current_adapter?(:PostgreSQLAdapter)
134
+ def test_json_creates_json_column
135
+ with_change_table do |t|
136
+ @connection.expect :add_column, nil, [:delete_me, :foo, :json, {}]
137
+ @connection.expect :add_column, nil, [:delete_me, :bar, :json, {}]
138
+ t.json :foo, :bar
139
+ end
140
+ end
141
+
142
+ def test_xml_creates_xml_column
143
+ with_change_table do |t|
144
+ @connection.expect :add_column, nil, [:delete_me, :foo, :xml, {}]
145
+ @connection.expect :add_column, nil, [:delete_me, :bar, :xml, {}]
146
+ t.xml :foo, :bar
147
+ end
148
+ end
149
+ end
150
+
151
+ def test_column_creates_column
152
+ with_change_table do |t|
153
+ @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
154
+ t.column :bar, :integer
155
+ end
156
+ end
157
+
158
+ def test_column_creates_column_with_options
159
+ with_change_table do |t|
160
+ @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {:null => false}]
161
+ t.column :bar, :integer, :null => false
162
+ end
163
+ end
164
+
165
+ def test_index_creates_index
166
+ with_change_table do |t|
167
+ @connection.expect :add_index, nil, [:delete_me, :bar, {}]
168
+ t.index :bar
169
+ end
170
+ end
171
+
172
+ def test_index_creates_index_with_options
173
+ with_change_table do |t|
174
+ @connection.expect :add_index, nil, [:delete_me, :bar, {:unique => true}]
175
+ t.index :bar, :unique => true
176
+ end
177
+ end
178
+
179
+ def test_index_exists
180
+ with_change_table do |t|
181
+ @connection.expect :index_exists?, nil, [:delete_me, :bar, {}]
182
+ t.index_exists?(:bar)
183
+ end
184
+ end
185
+
186
+ def test_index_exists_with_options
187
+ with_change_table do |t|
188
+ @connection.expect :index_exists?, nil, [:delete_me, :bar, {:unique => true}]
189
+ t.index_exists?(:bar, :unique => true)
190
+ end
191
+ end
192
+
193
+ def test_rename_index_renames_index
194
+ with_change_table do |t|
195
+ @connection.expect :rename_index, nil, [:delete_me, :bar, :baz]
196
+ t.rename_index :bar, :baz
197
+ end
198
+ end
199
+
200
+ def test_change_changes_column
201
+ with_change_table do |t|
202
+ @connection.expect :change_column, nil, [:delete_me, :bar, :string, {}]
203
+ t.change :bar, :string
204
+ end
205
+ end
206
+
207
+ def test_change_changes_column_with_options
208
+ with_change_table do |t|
209
+ @connection.expect :change_column, nil, [:delete_me, :bar, :string, {:null => true}]
210
+ t.change :bar, :string, :null => true
211
+ end
212
+ end
213
+
214
+ def test_change_default_changes_column
215
+ with_change_table do |t|
216
+ @connection.expect :change_column_default, nil, [:delete_me, :bar, :string]
217
+ t.change_default :bar, :string
218
+ end
219
+ end
220
+
221
+ def test_remove_drops_single_column
222
+ with_change_table do |t|
223
+ @connection.expect :remove_columns, nil, [:delete_me, :bar]
224
+ t.remove :bar
225
+ end
226
+ end
227
+
228
+ def test_remove_drops_multiple_columns
229
+ with_change_table do |t|
230
+ @connection.expect :remove_columns, nil, [:delete_me, :bar, :baz]
231
+ t.remove :bar, :baz
232
+ end
233
+ end
234
+
235
+ def test_remove_index_removes_index_with_options
236
+ with_change_table do |t|
237
+ @connection.expect :remove_index, nil, [:delete_me, {:unique => true}]
238
+ t.remove_index :unique => true
239
+ end
240
+ end
241
+
242
+ def test_rename_renames_column
243
+ with_change_table do |t|
244
+ @connection.expect :rename_column, nil, [:delete_me, :bar, :baz]
245
+ t.rename :bar, :baz
246
+ end
247
+ end
248
+
249
+ def test_table_name_set
250
+ with_change_table do |t|
251
+ assert_equal :delete_me, t.name
252
+ end
253
+ end
254
+ end
255
+ end
256
+ end