Closed winebarrel closed 9 years ago
こんにちは。 日本語で失礼します。
先ほど、v0.3.0のソースをgithubから落としてbundle rake rakeを実行したのですが、change_columnが正しく動いていないように見えます。
bundle rake rake
change_column
具体的には、以下の箇所でSQL文を標準出力に出したところ https://github.com/waka/activerecord-mysql-unsigned/blob/25feeb0fc5b3a3872ea16a7cc77dae6d6f0af95f/spec/support/migrations.rb#L53
-- change_column(:users, :id, :integer, {:limit=>8, :unsigned=>true, :null=>false, :auto_increment=>true}) D, [2014-11-24T01:59:46.458223 #2196] DEBUG -- : (0.2ms) ALTER TABLE `users` -> 0.0027s -- change_column(:users, :will_unsigned_int, :integer, {:unsigned=>true}) D, [2014-11-24T01:59:46.461271 #2196] DEBUG -- : (0.2ms) ALTER TABLE `users` -> 0.0030s -- change_column(:users, :will_signed_int, :integer, {:unsigned=>false}) D, [2014-11-24T01:59:46.465085 #2196] DEBUG -- : (0.2ms) ALTER TABLE `users` -> 0.0037s -- change_column(:users, :will_bigint, :integer, {:limit=>8}) D, [2014-11-24T01:59:46.468309 #2196] DEBUG -- : (0.2ms) ALTER TABLE `users` -> 0.0031s -- add_column(:users, :added_unsigned_int, :integer, {:unsigned=>true}) D, [2014-11-24T01:59:46.468919 #2196] DEBUG -- : (0.2ms) ALTER TABLE `users`
上記のようにALTER文が正常に実行されておらず、テーブルの定義を見ても型の変更は行われていませんでした。
v0.2.0のソースで上記の箇所をログ出力すると
-- change_column(:users, :id, :integer, {:limit=>8, :unsigned=>true, :null=>false, :auto_increment=>true}) D, [2014-11-24T02:02:14.542172 #2310] DEBUG -- : (17.6ms) ALTER TABLE `users` CHANGE `id` `id` bigint unsigned NOT NULL AUTO_INCREMENT -> 0.0204s -- change_column(:users, :will_unsigned_int, :integer, {:unsigned=>true}) D, [2014-11-24T02:02:14.558033 #2310] DEBUG -- : (12.6ms) ALTER TABLE `users` CHANGE `will_unsigned_int` `will_unsigned_int` int(10) unsigned DEFAULT NULL -> 0.0158s -- change_column(:users, :will_signed_int, :integer, {:unsigned=>false}) D, [2014-11-24T02:02:14.584018 #2310] DEBUG -- : (22.8ms) ALTER TABLE `users` CHANGE `will_signed_int` `will_signed_int` int(4) DEFAULT NULL -> 0.0259s -- change_column(:users, :will_bigint, :integer, {:limit=>8}) D, [2014-11-24T02:02:14.598764 #2310] DEBUG -- : (11.1ms) ALTER TABLE `users` CHANGE `will_bigint` `will_bigint` int(8) DEFAULT NULL -> 0.0147s -- add_column(:users, :added_unsigned_int, :integer, {:unsigned=>true}) D, [2014-11-24T02:02:14.619403 #2310] DEBUG -- : (20.3ms) ALTER TABLE `users` ADD `added_unsigned_int` int(10) unsigned -> 0.0206s
正常にALTER文が発行されていることが確認できました。
テストの実行環境は以下の通りです。
$ ruby -v ruby 2.0.0p594 (2014-10-27 revision 48167) [x86_64-darwin13.4.0] $ bundle list Gems included by the bundle: * activemodel (4.1.8) * activerecord (4.1.8) * activerecord-mysql-unsigned (0.2.0) * activesupport (4.1.8) * arel (5.0.1.20140414130214) * builder (3.2.2) * bundler (1.7.4) * database_cleaner (1.3.0) * diff-lcs (1.2.5) * i18n (0.6.11) * json (1.8.1) * minitest (5.4.3) * mysql2 (0.3.17) * rake (10.3.2) * rspec (3.0.0) * rspec-core (3.0.4) * rspec-expectations (3.0.4) * rspec-mocks (3.0.4) * rspec-support (3.0.4) * thread_safe (0.3.4) * tzinfo (1.2.2) $ mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 41 Server version: 5.5.40-log Source distribution
私の勘違いでしたら大変申し訳ないのですが、ご確認いただければ幸いです… :bow:
こんにちは。 日本語で失礼します。
先ほど、v0.3.0のソースをgithubから落として
bundle rake rake
を実行したのですが、change_column
が正しく動いていないように見えます。具体的には、以下の箇所でSQL文を標準出力に出したところ https://github.com/waka/activerecord-mysql-unsigned/blob/25feeb0fc5b3a3872ea16a7cc77dae6d6f0af95f/spec/support/migrations.rb#L53
上記のようにALTER文が正常に実行されておらず、テーブルの定義を見ても型の変更は行われていませんでした。
v0.2.0のソースで上記の箇所をログ出力すると
正常にALTER文が発行されていることが確認できました。
テストの実行環境は以下の通りです。
私の勘違いでしたら大変申し訳ないのですが、ご確認いただければ幸いです… :bow: