gpt4 book ai didi

ruby - rake 数据库 :migrate hangs on db:schema:dump step

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:51 24 4
gpt4 key购买 nike

当执行 rake db:migrate 命令时,它卡在 Execute db:schema:dump 步骤。我正在使用 jruby 1.7.10 和 db gem jdbc-db2 v 9.7。似乎 schema.rb 文件已在 db 目录中成功创建,但该命令仍然卡在该步骤上。

任何关于可能导致这种情况的想法都会有所帮助。

最佳答案

我刚刚经历了类似的事情,我的抽佣测试变得越来越慢。我正在使用 Rails 2.0.2、Ruby 1.8.6 和 Oracle 11.2。

问题是 Oracle 有一个 recycle bin ,并且随着每次运行 rake 测试时删除和重新创建表而填满。

为了防止回收站变大,我在准备测试数据库后添加了一个步骤来清除它。使用以下内容创建文件 lib/tasks/databases.rake:

namespace :db do
namespace :test do
task :prepare do
# The Oracle recycle bin fills up and slows down the test preparation.
ActiveRecord::Base.connection.execute("purge recyclebin")
end
end
end

您可能不想在您的生产数据库中执行此操作,但您没有针对您的生产数据库运行 db:test:prepare,是吗?

我注意到此查询运行了很长时间,从而发现了问题:

 SELECT lower(i.index_name) as index_name, i.uniqueness, lower(c.column_name) as column_name
FROM user_indexes i, user_ind_columns c
WHERE i.table_name = 'QCS_USERS'
AND c.index_name = i.index_name
AND i.index_name NOT IN (SELECT uc.index_name FROM user_constraints uc WHERE uc.constraint_type = 'P')
ORDER BY i.index_name, c.column_position

查看 user_constraints 表,我看到有数千行,即使在我删除所有表之后,这导致我找到 some discussions回收站。

关于ruby - rake 数据库 :migrate hangs on db:schema:dump step,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355463/

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