gpt4 book ai didi

ruby-on-rails - 即使没有挂起的迁移,Rails 迁移也非常缓慢

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:04 25 4
gpt4 key购买 nike

我的生产 Rails 应用程序需要 167 秒来运行 rake db:migrate。可悲的是,没有要运行的迁移。我试图在检查是否有待处理的迁移时调整运行的迁移,但随后检查花费了同样长的时间。我心目中唯一的“借口”是数据库并不小,那里有 1M 条记录,但我看不出这有什么关系。我查看了日志,但没有任何迹象表明出了什么问题。我在运行

  • ruby 2.2.0
  • rails 4.2.0

有没有人知道为什么会这样,是否有什么办法可以解决?

最佳答案

运行 rake db:migrate 任务还会调用 db:schema:dump 任务,这将更新您的 db/schema.rb。因此,即使您没有迁移,您也会导致其他 rake 任务运行,这可能会占用这段时间,具体取决于您的数据库架构有多少迁移/大。

您可以查看 db:* 任务的源代码 (.../activerecord/railties/databases.rake)

desc "Migrate the database (options: VERSION=x, VERBOSE=false)."
task :migrate => :environment do
ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
end

引用文献:http://guides.rubyonrails.org/active_record_migrations.html#running-migrations

Does rake db:schema:dump recreate schema.rb from migrations or the database itself?

关于ruby-on-rails - 即使没有挂起的迁移,Rails 迁移也非常缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com