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.
- checksums.yaml +5 -5
- data/MANIFEST +14 -14
- data/README +208 -208
- data/ext/Makefile +269 -0
- data/ext/Makefile.nt32 +181 -181
- data/ext/Makefile.nt32.191 +212 -212
- data/ext/extconf.rb +322 -291
- data/ext/gil_release_version +3 -0
- data/ext/ibm_db.c +11879 -11887
- data/ext/mkmf.log +110 -0
- data/ext/ruby_ibm_db.h +241 -241
- data/ext/ruby_ibm_db_cli.c +866 -866
- data/ext/ruby_ibm_db_cli.h +500 -500
- data/ext/unicode_support_version +3 -0
- data/init.rb +41 -41
- data/lib/IBM_DB.rb +27 -27
- data/lib/active_record/connection_adapters/ibm_db_adapter.rb +3533 -3452
- data/lib/active_record/connection_adapters/ibmdb_adapter.rb +5 -5
- data/lib/active_record/vendor/db2-i5-zOS.yaml +328 -328
- data/lib/mswin32/ibm_db.rb +90 -90
- data/lib/mswin32/rb2x/i386/ibm_db.so +0 -0
- data/test/active_record/connection_adapters/fake_adapter.rb +49 -49
- data/test/assets/example.log +1 -1
- data/test/assets/test.txt +1 -1
- data/test/cases/adapter_test.rb +351 -351
- data/test/cases/adapters/mysql2/active_schema_test.rb +193 -193
- data/test/cases/adapters/mysql2/bind_parameter_test.rb +50 -50
- data/test/cases/adapters/mysql2/boolean_test.rb +100 -100
- data/test/cases/adapters/mysql2/case_sensitivity_test.rb +63 -63
- data/test/cases/adapters/mysql2/charset_collation_test.rb +54 -54
- data/test/cases/adapters/mysql2/connection_test.rb +210 -210
- data/test/cases/adapters/mysql2/datetime_precision_quoting_test.rb +45 -45
- data/test/cases/adapters/mysql2/enum_test.rb +26 -26
- data/test/cases/adapters/mysql2/explain_test.rb +21 -21
- data/test/cases/adapters/mysql2/json_test.rb +195 -195
- data/test/cases/adapters/mysql2/mysql2_adapter_test.rb +83 -83
- data/test/cases/adapters/mysql2/reserved_word_test.rb +152 -152
- data/test/cases/adapters/mysql2/schema_migrations_test.rb +59 -59
- data/test/cases/adapters/mysql2/schema_test.rb +126 -126
- data/test/cases/adapters/mysql2/sp_test.rb +36 -36
- data/test/cases/adapters/mysql2/sql_types_test.rb +14 -14
- data/test/cases/adapters/mysql2/table_options_test.rb +42 -42
- data/test/cases/adapters/mysql2/unsigned_type_test.rb +66 -66
- data/test/cases/adapters/postgresql/active_schema_test.rb +98 -98
- data/test/cases/adapters/postgresql/array_test.rb +339 -339
- data/test/cases/adapters/postgresql/bit_string_test.rb +82 -82
- data/test/cases/adapters/postgresql/bytea_test.rb +134 -134
- data/test/cases/adapters/postgresql/case_insensitive_test.rb +26 -26
- data/test/cases/adapters/postgresql/change_schema_test.rb +38 -38
- data/test/cases/adapters/postgresql/cidr_test.rb +25 -25
- data/test/cases/adapters/postgresql/citext_test.rb +78 -78
- data/test/cases/adapters/postgresql/collation_test.rb +53 -53
- data/test/cases/adapters/postgresql/composite_test.rb +132 -132
- data/test/cases/adapters/postgresql/connection_test.rb +257 -257
- data/test/cases/adapters/postgresql/datatype_test.rb +92 -92
- data/test/cases/adapters/postgresql/domain_test.rb +47 -47
- data/test/cases/adapters/postgresql/enum_test.rb +91 -91
- data/test/cases/adapters/postgresql/explain_test.rb +20 -20
- data/test/cases/adapters/postgresql/extension_migration_test.rb +63 -63
- data/test/cases/adapters/postgresql/full_text_test.rb +44 -44
- data/test/cases/adapters/postgresql/geometric_test.rb +378 -378
- data/test/cases/adapters/postgresql/hstore_test.rb +382 -382
- data/test/cases/adapters/postgresql/infinity_test.rb +69 -69
- data/test/cases/adapters/postgresql/integer_test.rb +25 -25
- data/test/cases/adapters/postgresql/json_test.rb +237 -237
- data/test/cases/adapters/postgresql/ltree_test.rb +53 -53
- data/test/cases/adapters/postgresql/money_test.rb +96 -96
- data/test/cases/adapters/postgresql/network_test.rb +94 -94
- data/test/cases/adapters/postgresql/numbers_test.rb +49 -49
- data/test/cases/adapters/postgresql/postgresql_adapter_test.rb +405 -405
- data/test/cases/adapters/postgresql/prepared_statements_test.rb +22 -22
- data/test/cases/adapters/postgresql/quoting_test.rb +44 -44
- data/test/cases/adapters/postgresql/range_test.rb +343 -343
- data/test/cases/adapters/postgresql/referential_integrity_test.rb +111 -111
- data/test/cases/adapters/postgresql/rename_table_test.rb +34 -34
- data/test/cases/adapters/postgresql/schema_authorization_test.rb +119 -119
- data/test/cases/adapters/postgresql/schema_test.rb +597 -597
- data/test/cases/adapters/postgresql/serial_test.rb +154 -154
- data/test/cases/adapters/postgresql/statement_pool_test.rb +41 -41
- data/test/cases/adapters/postgresql/timestamp_test.rb +90 -90
- data/test/cases/adapters/postgresql/type_lookup_test.rb +33 -33
- data/test/cases/adapters/postgresql/utils_test.rb +62 -62
- data/test/cases/adapters/postgresql/uuid_test.rb +294 -294
- data/test/cases/adapters/postgresql/xml_test.rb +54 -54
- data/test/cases/adapters/sqlite3/collation_test.rb +53 -53
- data/test/cases/adapters/sqlite3/copy_table_test.rb +98 -98
- data/test/cases/adapters/sqlite3/explain_test.rb +21 -21
- data/test/cases/adapters/sqlite3/quoting_test.rb +101 -101
- data/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +441 -441
- data/test/cases/adapters/sqlite3/sqlite3_create_folder_test.rb +24 -24
- data/test/cases/adapters/sqlite3/statement_pool_test.rb +20 -20
- data/test/cases/aggregations_test.rb +168 -168
- data/test/cases/ar_schema_test.rb +146 -146
- data/test/cases/associations/association_scope_test.rb +16 -16
- data/test/cases/associations/belongs_to_associations_test.rb +1141 -1141
- data/test/cases/associations/bidirectional_destroy_dependencies_test.rb +41 -41
- data/test/cases/associations/callbacks_test.rb +190 -190
- data/test/cases/associations/cascaded_eager_loading_test.rb +188 -188
- data/test/cases/associations/eager_load_includes_full_sti_class_test.rb +36 -36
- data/test/cases/associations/eager_load_nested_include_test.rb +126 -126
- data/test/cases/associations/eager_singularization_test.rb +148 -148
- data/test/cases/associations/eager_test.rb +1514 -1514
- data/test/cases/associations/extension_test.rb +87 -87
- data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +1004 -1004
- data/test/cases/associations/has_many_associations_test.rb +2501 -2501
- data/test/cases/associations/has_many_through_associations_test.rb +1271 -1271
- data/test/cases/associations/has_one_associations_test.rb +707 -707
- data/test/cases/associations/has_one_through_associations_test.rb +383 -383
- data/test/cases/associations/inner_join_association_test.rb +139 -139
- data/test/cases/associations/inverse_associations_test.rb +733 -733
- data/test/cases/associations/join_model_test.rb +777 -777
- data/test/cases/associations/left_outer_join_association_test.rb +88 -88
- data/test/cases/associations/nested_through_associations_test.rb +579 -579
- data/test/cases/associations/required_test.rb +102 -102
- data/test/cases/associations_test.rb +385 -385
- data/test/cases/attribute_decorators_test.rb +126 -125
- data/test/cases/attribute_methods/read_test.rb +60 -60
- data/test/cases/attribute_methods_test.rb +1009 -1009
- data/test/cases/attribute_set_test.rb +270 -270
- data/test/cases/attribute_test.rb +246 -246
- data/test/cases/attributes_test.rb +253 -253
- data/test/cases/autosave_association_test.rb +1708 -1708
- data/test/cases/base_test.rb +1713 -1713
- data/test/cases/batches_test.rb +489 -489
- data/test/cases/binary_test.rb +44 -44
- data/test/cases/bind_parameter_test.rb +110 -110
- data/test/cases/cache_key_test.rb +26 -25
- data/test/cases/calculations_test.rb +798 -798
- data/test/cases/callbacks_test.rb +636 -636
- data/test/cases/clone_test.rb +40 -40
- data/test/cases/coders/json_test.rb +15 -15
- data/test/cases/coders/yaml_column_test.rb +63 -63
- data/test/cases/collection_cache_key_test.rb +115 -115
- data/test/cases/column_alias_test.rb +17 -17
- data/test/cases/column_definition_test.rb +92 -92
- data/test/cases/comment_test.rb +145 -143
- data/test/cases/connection_adapters/adapter_leasing_test.rb +56 -56
- data/test/cases/connection_adapters/connection_handler_test.rb +160 -160
- data/test/cases/connection_adapters/connection_specification_test.rb +12 -12
- data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +255 -255
- data/test/cases/connection_adapters/mysql_type_lookup_test.rb +69 -69
- data/test/cases/connection_adapters/quoting_test.rb +13 -13
- data/test/cases/connection_adapters/schema_cache_test.rb +61 -61
- data/test/cases/connection_adapters/type_lookup_test.rb +118 -118
- data/test/cases/connection_management_test.rb +112 -112
- data/test/cases/connection_pool_test.rb +521 -521
- data/test/cases/connection_specification/resolver_test.rb +131 -131
- data/test/cases/core_test.rb +112 -112
- data/test/cases/counter_cache_test.rb +214 -214
- data/test/cases/custom_locking_test.rb +17 -17
- data/test/cases/database_statements_test.rb +34 -34
- data/test/cases/date_test.rb +44 -44
- data/test/cases/date_time_precision_test.rb +107 -106
- data/test/cases/date_time_test.rb +61 -61
- data/test/cases/defaults_test.rb +219 -218
- data/test/cases/dirty_test.rb +763 -763
- data/test/cases/disconnected_test.rb +30 -30
- data/test/cases/dup_test.rb +157 -157
- data/test/cases/enum_test.rb +444 -444
- data/test/cases/errors_test.rb +16 -16
- data/test/cases/explain_subscriber_test.rb +64 -64
- data/test/cases/explain_test.rb +87 -87
- data/test/cases/finder_respond_to_test.rb +60 -60
- data/test/cases/finder_test.rb +1294 -1294
- data/test/cases/fixture_set/file_test.rb +156 -156
- data/test/cases/fixtures_test.rb +988 -988
- data/test/cases/forbidden_attributes_protection_test.rb +165 -165
- data/test/cases/habtm_destroy_order_test.rb +61 -61
- data/test/cases/helper.rb +204 -204
- data/test/cases/hot_compatibility_test.rb +142 -142
- data/test/cases/i18n_test.rb +45 -45
- data/test/cases/inheritance_test.rb +606 -606
- data/test/cases/integration_test.rb +155 -155
- data/test/cases/invalid_connection_test.rb +24 -24
- data/test/cases/invertible_migration_test.rb +387 -387
- data/test/cases/json_serialization_test.rb +311 -311
- data/test/cases/locking_test.rb +493 -493
- data/test/cases/log_subscriber_test.rb +225 -225
- data/test/cases/migration/change_schema_test.rb +458 -458
- data/test/cases/migration/change_table_test.rb +256 -256
- data/test/cases/migration/column_attributes_test.rb +176 -176
- data/test/cases/migration/column_positioning_test.rb +56 -56
- data/test/cases/migration/columns_test.rb +310 -310
- data/test/cases/migration/command_recorder_test.rb +350 -350
- data/test/cases/migration/compatibility_test.rb +118 -118
- data/test/cases/migration/create_join_table_test.rb +157 -157
- data/test/cases/migration/foreign_key_test.rb +362 -360
- data/test/cases/migration/helper.rb +39 -39
- data/test/cases/migration/index_test.rb +218 -218
- data/test/cases/migration/logger_test.rb +36 -36
- data/test/cases/migration/pending_migrations_test.rb +52 -52
- data/test/cases/migration/references_foreign_key_test.rb +221 -216
- data/test/cases/migration/references_index_test.rb +101 -101
- data/test/cases/migration/references_statements_test.rb +136 -136
- data/test/cases/migration/rename_table_test.rb +93 -93
- data/test/cases/migration_test.rb +1157 -1157
- data/test/cases/migrator_test.rb +471 -470
- data/test/cases/mixin_test.rb +68 -68
- data/test/cases/modules_test.rb +172 -172
- data/test/cases/multiparameter_attributes_test.rb +372 -372
- data/test/cases/multiple_db_test.rb +122 -122
- data/test/cases/nested_attributes_test.rb +1098 -1098
- data/test/cases/nested_attributes_with_callbacks_test.rb +144 -144
- data/test/cases/persistence_test.rb +1001 -1001
- data/test/cases/pooled_connections_test.rb +81 -81
- data/test/cases/primary_keys_test.rb +376 -376
- data/test/cases/query_cache_test.rb +446 -446
- data/test/cases/quoting_test.rb +202 -202
- data/test/cases/readonly_test.rb +119 -119
- data/test/cases/reaper_test.rb +85 -85
- data/test/cases/reflection_test.rb +509 -509
- data/test/cases/relation/delegation_test.rb +63 -63
- data/test/cases/relation/merging_test.rb +157 -157
- data/test/cases/relation/mutation_test.rb +183 -183
- data/test/cases/relation/or_test.rb +92 -92
- data/test/cases/relation/predicate_builder_test.rb +16 -16
- data/test/cases/relation/record_fetch_warning_test.rb +40 -40
- data/test/cases/relation/where_chain_test.rb +105 -105
- data/test/cases/relation/where_clause_test.rb +182 -182
- data/test/cases/relation/where_test.rb +322 -322
- data/test/cases/relation_test.rb +328 -328
- data/test/cases/relations_test.rb +2026 -2026
- data/test/cases/reload_models_test.rb +22 -22
- data/test/cases/result_test.rb +90 -90
- data/test/cases/sanitize_test.rb +176 -176
- data/test/cases/schema_dumper_test.rb +457 -457
- data/test/cases/schema_loading_test.rb +52 -52
- data/test/cases/scoping/default_scoping_test.rb +528 -528
- data/test/cases/scoping/named_scoping_test.rb +561 -561
- data/test/cases/scoping/relation_scoping_test.rb +400 -400
- data/test/cases/secure_token_test.rb +32 -32
- data/test/cases/serialization_test.rb +104 -104
- data/test/cases/serialized_attribute_test.rb +364 -364
- data/test/cases/statement_cache_test.rb +136 -136
- data/test/cases/store_test.rb +195 -195
- data/test/cases/suppressor_test.rb +63 -63
- data/test/cases/tasks/database_tasks_test.rb +462 -462
- data/test/cases/tasks/mysql_rake_test.rb +345 -345
- data/test/cases/tasks/postgresql_rake_test.rb +304 -304
- data/test/cases/tasks/sqlite_rake_test.rb +220 -220
- data/test/cases/test_case.rb +131 -131
- data/test/cases/test_fixtures_test.rb +36 -36
- data/test/cases/time_precision_test.rb +103 -102
- data/test/cases/timestamp_test.rb +501 -501
- data/test/cases/touch_later_test.rb +121 -121
- data/test/cases/transaction_callbacks_test.rb +518 -518
- data/test/cases/transaction_isolation_test.rb +106 -106
- data/test/cases/transactions_test.rb +835 -834
- data/test/cases/type/adapter_specific_registry_test.rb +133 -133
- data/test/cases/type/date_time_test.rb +14 -14
- data/test/cases/type/integer_test.rb +27 -27
- data/test/cases/type/string_test.rb +22 -22
- data/test/cases/type/type_map_test.rb +177 -177
- data/test/cases/type_test.rb +39 -39
- data/test/cases/types_test.rb +24 -24
- data/test/cases/unconnected_test.rb +33 -33
- data/test/cases/validations/absence_validation_test.rb +73 -73
- data/test/cases/validations/association_validation_test.rb +97 -97
- data/test/cases/validations/i18n_generate_message_validation_test.rb +84 -84
- data/test/cases/validations/i18n_validation_test.rb +86 -86
- data/test/cases/validations/length_validation_test.rb +79 -79
- data/test/cases/validations/presence_validation_test.rb +103 -103
- data/test/cases/validations/uniqueness_validation_test.rb +548 -548
- data/test/cases/validations_repair_helper.rb +19 -19
- data/test/cases/validations_test.rb +194 -194
- data/test/cases/view_test.rb +216 -216
- data/test/cases/yaml_serialization_test.rb +121 -121
- data/test/config.example.yml +97 -97
- data/test/config.rb +5 -5
- data/test/connections/native_ibm_db/connection.rb +44 -0
- data/test/fixtures/accounts.yml +29 -29
- data/test/fixtures/admin/accounts.yml +2 -2
- data/test/fixtures/admin/users.yml +10 -10
- data/test/fixtures/author_addresses.yml +17 -17
- data/test/fixtures/author_favorites.yml +3 -3
- data/test/fixtures/authors.yml +23 -23
- data/test/fixtures/bad_posts.yml +9 -9
- data/test/fixtures/binaries.yml +133 -133
- data/test/fixtures/books.yml +31 -31
- data/test/fixtures/bulbs.yml +5 -5
- data/test/fixtures/cars.yml +9 -9
- data/test/fixtures/categories.yml +19 -19
- data/test/fixtures/categories/special_categories.yml +9 -9
- data/test/fixtures/categories/subsubdir/arbitrary_filename.yml +4 -4
- data/test/fixtures/categories_ordered.yml +7 -7
- data/test/fixtures/categories_posts.yml +31 -31
- data/test/fixtures/categorizations.yml +23 -23
- data/test/fixtures/clubs.yml +8 -8
- data/test/fixtures/collections.yml +3 -3
- data/test/fixtures/colleges.yml +3 -3
- data/test/fixtures/comments.yml +65 -65
- data/test/fixtures/companies.yml +67 -67
- data/test/fixtures/computers.yml +10 -10
- data/test/fixtures/content.yml +3 -3
- data/test/fixtures/content_positions.yml +3 -3
- data/test/fixtures/courses.yml +8 -8
- data/test/fixtures/customers.yml +25 -25
- data/test/fixtures/dashboards.yml +6 -6
- data/test/fixtures/dead_parrots.yml +5 -5
- data/test/fixtures/developers.yml +22 -22
- data/test/fixtures/developers_projects.yml +16 -16
- data/test/fixtures/dog_lovers.yml +7 -7
- data/test/fixtures/dogs.yml +4 -4
- data/test/fixtures/doubloons.yml +3 -3
- data/test/fixtures/edges.yml +5 -5
- data/test/fixtures/entrants.yml +14 -14
- data/test/fixtures/essays.yml +6 -6
- data/test/fixtures/faces.yml +11 -11
- data/test/fixtures/fk_test_has_fk.yml +3 -3
- data/test/fixtures/fk_test_has_pk.yml +1 -1
- data/test/fixtures/friendships.yml +4 -4
- data/test/fixtures/funny_jokes.yml +10 -10
- data/test/fixtures/interests.yml +33 -33
- data/test/fixtures/items.yml +3 -3
- data/test/fixtures/jobs.yml +7 -7
- data/test/fixtures/legacy_things.yml +3 -3
- data/test/fixtures/live_parrots.yml +4 -4
- data/test/fixtures/mateys.yml +4 -4
- data/test/fixtures/member_details.yml +8 -8
- data/test/fixtures/member_types.yml +6 -6
- data/test/fixtures/members.yml +11 -11
- data/test/fixtures/memberships.yml +34 -34
- data/test/fixtures/men.yml +5 -5
- data/test/fixtures/minimalistics.yml +2 -2
- data/test/fixtures/minivans.yml +5 -5
- data/test/fixtures/mixed_case_monkeys.yml +6 -6
- data/test/fixtures/mixins.yml +29 -29
- data/test/fixtures/movies.yml +7 -7
- data/test/fixtures/naked/yml/accounts.yml +1 -1
- data/test/fixtures/naked/yml/companies.yml +1 -1
- data/test/fixtures/naked/yml/courses.yml +1 -1
- data/test/fixtures/naked/yml/parrots.yml +2 -2
- data/test/fixtures/naked/yml/trees.yml +3 -3
- data/test/fixtures/nodes.yml +29 -29
- data/test/fixtures/organizations.yml +5 -5
- data/test/fixtures/other_comments.yml +6 -6
- data/test/fixtures/other_dogs.yml +2 -2
- data/test/fixtures/other_posts.yml +7 -7
- data/test/fixtures/other_topics.yml +42 -42
- data/test/fixtures/owners.yml +9 -9
- data/test/fixtures/parrots.yml +27 -27
- data/test/fixtures/parrots_pirates.yml +7 -7
- data/test/fixtures/people.yml +24 -24
- data/test/fixtures/peoples_treasures.yml +3 -3
- data/test/fixtures/pets.yml +19 -19
- data/test/fixtures/pirates.yml +12 -15
- data/test/fixtures/posts.yml +80 -80
- data/test/fixtures/price_estimates.yml +16 -16
- data/test/fixtures/products.yml +4 -4
- data/test/fixtures/projects.yml +7 -7
- data/test/fixtures/ratings.yml +14 -14
- data/test/fixtures/readers.yml +11 -11
- data/test/fixtures/references.yml +17 -17
- data/test/fixtures/reserved_words/distinct.yml +5 -5
- data/test/fixtures/reserved_words/distinct_select.yml +11 -11
- data/test/fixtures/reserved_words/group.yml +14 -14
- data/test/fixtures/reserved_words/select.yml +8 -8
- data/test/fixtures/reserved_words/values.yml +7 -7
- data/test/fixtures/ships.yml +6 -6
- data/test/fixtures/speedometers.yml +8 -8
- data/test/fixtures/sponsors.yml +12 -12
- data/test/fixtures/string_key_objects.yml +7 -7
- data/test/fixtures/subscribers.yml +10 -10
- data/test/fixtures/subscriptions.yml +12 -12
- data/test/fixtures/taggings.yml +78 -78
- data/test/fixtures/tags.yml +11 -11
- data/test/fixtures/tasks.yml +7 -7
- data/test/fixtures/teapots.yml +3 -3
- data/test/fixtures/to_be_linked/accounts.yml +2 -2
- data/test/fixtures/to_be_linked/users.yml +10 -10
- data/test/fixtures/topics.yml +49 -49
- data/test/fixtures/toys.yml +14 -14
- data/test/fixtures/traffic_lights.yml +9 -9
- data/test/fixtures/treasures.yml +10 -10
- data/test/fixtures/trees.yml +3 -3
- data/test/fixtures/uuid_children.yml +3 -3
- data/test/fixtures/uuid_parents.yml +2 -2
- data/test/fixtures/variants.yml +4 -4
- data/test/fixtures/vegetables.yml +19 -19
- data/test/fixtures/vertices.yml +3 -3
- data/test/fixtures/warehouse_things.yml +2 -2
- data/test/fixtures/zines.yml +5 -5
- data/test/migrations/10_urban/9_add_expressions.rb +11 -11
- data/test/migrations/decimal/1_give_me_big_numbers.rb +15 -15
- data/test/migrations/magic/1_currencies_have_symbols.rb +12 -12
- data/test/migrations/missing/1000_people_have_middle_names.rb +9 -9
- data/test/migrations/missing/1_people_have_last_names.rb +9 -9
- data/test/migrations/missing/3_we_need_reminders.rb +12 -12
- data/test/migrations/missing/4_innocent_jointable.rb +12 -12
- data/test/migrations/rename/1_we_need_things.rb +11 -11
- data/test/migrations/rename/2_rename_things.rb +9 -9
- data/test/migrations/to_copy/1_people_have_hobbies.rb +9 -9
- data/test/migrations/to_copy/2_people_have_descriptions.rb +9 -9
- data/test/migrations/to_copy2/1_create_articles.rb +7 -7
- data/test/migrations/to_copy2/2_create_comments.rb +7 -7
- data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +9 -9
- data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +9 -9
- data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +9 -9
- data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +7 -7
- data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +7 -7
- data/test/migrations/valid/1_valid_people_have_last_names.rb +9 -9
- data/test/migrations/valid/2_we_need_reminders.rb +12 -12
- data/test/migrations/valid/3_innocent_jointable.rb +12 -12
- data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +9 -9
- data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +12 -12
- data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +12 -12
- data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +9 -9
- data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +12 -12
- data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +12 -12
- data/test/migrations/version_check/20131219224947_migration_version_check.rb +8 -8
- data/test/models/admin.rb +5 -5
- data/test/models/admin/account.rb +3 -3
- data/test/models/admin/user.rb +40 -40
- data/test/models/aircraft.rb +5 -5
- data/test/models/arunit2_model.rb +3 -3
- data/test/models/author.rb +209 -209
- data/test/models/auto_id.rb +4 -4
- data/test/models/autoloadable/extra_firm.rb +2 -2
- data/test/models/binary.rb +2 -2
- data/test/models/bird.rb +12 -12
- data/test/models/book.rb +23 -23
- data/test/models/boolean.rb +2 -2
- data/test/models/bulb.rb +52 -52
- data/test/models/cake_designer.rb +3 -3
- data/test/models/car.rb +29 -29
- data/test/models/carrier.rb +2 -2
- data/test/models/cat.rb +10 -10
- data/test/models/categorization.rb +19 -19
- data/test/models/category.rb +35 -35
- data/test/models/chef.rb +8 -8
- data/test/models/citation.rb +3 -3
- data/test/models/club.rb +25 -25
- data/test/models/college.rb +10 -10
- data/test/models/column.rb +3 -3
- data/test/models/column_name.rb +3 -3
- data/test/models/comment.rb +76 -76
- data/test/models/company.rb +230 -230
- data/test/models/company_in_module.rb +98 -98
- data/test/models/computer.rb +3 -3
- data/test/models/contact.rb +41 -41
- data/test/models/content.rb +40 -40
- data/test/models/contract.rb +20 -20
- data/test/models/country.rb +7 -7
- data/test/models/course.rb +6 -6
- data/test/models/customer.rb +83 -83
- data/test/models/customer_carrier.rb +14 -14
- data/test/models/dashboard.rb +3 -3
- data/test/models/default.rb +2 -2
- data/test/models/department.rb +4 -4
- data/test/models/developer.rb +274 -274
- data/test/models/dog.rb +5 -5
- data/test/models/dog_lover.rb +5 -5
- data/test/models/doubloon.rb +12 -12
- data/test/models/drink_designer.rb +3 -3
- data/test/models/edge.rb +5 -5
- data/test/models/electron.rb +5 -5
- data/test/models/engine.rb +4 -4
- data/test/models/entrant.rb +3 -3
- data/test/models/essay.rb +5 -5
- data/test/models/event.rb +3 -3
- data/test/models/eye.rb +37 -37
- data/test/models/face.rb +9 -9
- data/test/models/friendship.rb +6 -6
- data/test/models/guid.rb +2 -2
- data/test/models/guitar.rb +4 -4
- data/test/models/hotel.rb +11 -11
- data/test/models/image.rb +3 -3
- data/test/models/interest.rb +5 -5
- data/test/models/invoice.rb +4 -4
- data/test/models/item.rb +7 -7
- data/test/models/job.rb +7 -7
- data/test/models/joke.rb +7 -7
- data/test/models/keyboard.rb +3 -3
- data/test/models/legacy_thing.rb +3 -3
- data/test/models/lesson.rb +11 -11
- data/test/models/line_item.rb +3 -3
- data/test/models/liquid.rb +4 -4
- data/test/models/man.rb +11 -11
- data/test/models/matey.rb +4 -4
- data/test/models/member.rb +42 -42
- data/test/models/member_detail.rb +8 -8
- data/test/models/member_type.rb +3 -3
- data/test/models/membership.rb +35 -35
- data/test/models/mentor.rb +2 -2
- data/test/models/minimalistic.rb +2 -2
- data/test/models/minivan.rb +9 -9
- data/test/models/mixed_case_monkey.rb +3 -3
- data/test/models/mocktail_designer.rb +2 -2
- data/test/models/molecule.rb +6 -6
- data/test/models/movie.rb +5 -5
- data/test/models/node.rb +5 -5
- data/test/models/non_primary_key.rb +2 -2
- data/test/models/notification.rb +3 -3
- data/test/models/order.rb +4 -4
- data/test/models/organization.rb +14 -14
- data/test/models/other_dog.rb +5 -5
- data/test/models/owner.rb +37 -37
- data/test/models/parrot.rb +28 -28
- data/test/models/person.rb +142 -142
- data/test/models/personal_legacy_thing.rb +4 -4
- data/test/models/pet.rb +18 -18
- data/test/models/pet_treasure.rb +6 -6
- data/test/models/pirate.rb +92 -92
- data/test/models/possession.rb +3 -3
- data/test/models/post.rb +273 -273
- data/test/models/price_estimate.rb +4 -4
- data/test/models/professor.rb +5 -5
- data/test/models/project.rb +40 -40
- data/test/models/publisher.rb +2 -2
- data/test/models/publisher/article.rb +4 -4
- data/test/models/publisher/magazine.rb +3 -3
- data/test/models/rating.rb +4 -4
- data/test/models/reader.rb +23 -23
- data/test/models/recipe.rb +3 -3
- data/test/models/record.rb +2 -2
- data/test/models/reference.rb +22 -22
- data/test/models/reply.rb +61 -61
- data/test/models/ship.rb +39 -39
- data/test/models/ship_part.rb +8 -8
- data/test/models/shop.rb +17 -17
- data/test/models/shop_account.rb +6 -6
- data/test/models/speedometer.rb +6 -6
- data/test/models/sponsor.rb +7 -7
- data/test/models/string_key_object.rb +3 -3
- data/test/models/student.rb +4 -4
- data/test/models/subject.rb +16 -16
- data/test/models/subscriber.rb +8 -8
- data/test/models/subscription.rb +4 -4
- data/test/models/tag.rb +13 -13
- data/test/models/tagging.rb +13 -13
- data/test/models/task.rb +5 -5
- data/test/models/topic.rb +118 -118
- data/test/models/toy.rb +6 -6
- data/test/models/traffic_light.rb +4 -4
- data/test/models/treasure.rb +14 -14
- data/test/models/treaty.rb +7 -7
- data/test/models/tree.rb +3 -3
- data/test/models/tuning_peg.rb +4 -4
- data/test/models/tyre.rb +11 -11
- data/test/models/user.rb +14 -14
- data/test/models/uuid_child.rb +3 -3
- data/test/models/uuid_item.rb +6 -6
- data/test/models/uuid_parent.rb +3 -3
- data/test/models/vegetables.rb +24 -24
- data/test/models/vehicle.rb +6 -6
- data/test/models/vertex.rb +9 -9
- data/test/models/warehouse_thing.rb +5 -5
- data/test/models/wheel.rb +3 -3
- data/test/models/without_table.rb +3 -3
- data/test/models/zine.rb +3 -3
- data/test/schema/i5/ibm_db_specific_schema.rb +137 -0
- data/test/schema/ids/ibm_db_specific_schema.rb +140 -0
- data/test/schema/luw/ibm_db_specific_schema.rb +137 -0
- data/test/schema/mysql2_specific_schema.rb +68 -68
- data/test/schema/oracle_specific_schema.rb +40 -40
- data/test/schema/postgresql_specific_schema.rb +114 -114
- data/test/schema/schema.rb +1057 -1057
- data/test/schema/schema.rb.original +1057 -1057
- data/test/schema/sqlite_specific_schema.rb +18 -18
- data/test/schema/zOS/ibm_db_specific_schema.rb +208 -0
- data/test/support/config.rb +43 -43
- data/test/support/connection.rb +23 -23
- data/test/support/connection_helper.rb +14 -14
- data/test/support/ddl_helper.rb +8 -8
- data/test/support/schema_dumping_helper.rb +20 -20
- data/test/support/yaml_compatibility_fixtures/rails_4_1.yml +22 -22
- data/test/support/yaml_compatibility_fixtures/rails_4_2_0.yml +182 -182
- metadata +24 -13
- data/test/fixtures/author_addresses.original +0 -11
- 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
|