2018/03/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #32274 from eileencodes/part-1-add-rake-tasks-for-multi-db
Active Recordの修正です。
db setup用のrake task(db:create
、db:migrate
、db:drop
、db:schema
、structure:dump
)に複数DBのサポートを追加しています。
database.yml
に3階層の定義をしていた場合、でenv配下のすべてのDBに対して上記コマンドを実行してくれるようになっています。
例。
development: primary: <<: *default database: multiple_databases_development animals: <<: *default database: multiple_databases_development_animals migrations_paths: "db/animals_migrate" test: primary: <<: *default database: multiple_databases_test animals: <<: *default database: multiple_databases_test_animals migrations_paths: "db/animals_migrate"
$ bin/rails db:create Created database 'multiple_databases_development' Created database 'multiple_databases_development_animals' Created database 'multiple_databases_test' Created database 'multiple_databases_test_animals' $ bin/rails db:drop Dropped database 'multiple_databases_development' Dropped database 'multiple_databases_development_animals' Dropped database 'multiple_databases_test' Dropped database 'multiple_databases_test_animals'
また、各コネクション毎にtaskが追加され、特定のコネクションに対してtaskが実行出来るようになっています。
$ bin/rails db:drop:primary Dropped database 'multiple_databases_development' $ bin/rails db:create:primary Created database 'multiple_databases_development' $ bin/rails db:migrate:primary == 20180206210418 CreatePosts: migrating ====================================== -- create_table(:posts) -> 0.0149s == 20180206210418 CreatePosts: migrated (0.0151s) ============================= == 20180206210446 CreateComments: migrating =================================== -- create_table(:comments) -> 0.0174s == 20180206210446 CreateComments: migrated (0.0175s) ==========================
他のtaskや、詳細なドキュメントについては今後対応予定。
Merge pull request #32185 from nholden/human_readable_date_time_comparisons
Active Supportの修正です。
Date
、DateTime
、Time
、TimeWithZone
にbefore?
、after
メソッドを追加しています。それぞれ<
と>
のalias。
Date.new(2017, 3, 6).before?(Date.new(2017, 3, 5) Date.new(2017, 3, 6).after?(Date.new(2017, 3, 5)
のようにかけるようになっています。
Flip the order of the after_create callbacks
activestorage/app/models/active_storage/attachment.rb
の修正です。
attachmentのafter_create_commit
callbackでanalyze_blob_later
、identify_blob
の順に処理を実行していたのを、identify_blob
、analyze_blob_later
の順に実行するよう修正しています。
- after_create_commit :identify_blob, :analyze_blob_later + after_create_commit :analyze_blob_later, :identify_blob
analyze処理でmetadataのmergeを行う為、それまでにidentifyを終わらせるよう先にidentify_blob
を呼ぶようにしています。なお、そもそもその意図で設計していたようなのですが、after_create_commit
のcallback実行順を勘違い(後に記載した方が先に実行される)してしまっていたようです。