Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby db:migrate挂起简单迁移_Ruby_Ruby On Rails 3_Dbmigrate - Fatal编程技术网

Ruby db:migrate挂起简单迁移

Ruby db:migrate挂起简单迁移,ruby,ruby-on-rails-3,dbmigrate,Ruby,Ruby On Rails 3,Dbmigrate,我正在使用PostgreSQL、Rails 3.1.3和Ruby 1.9.3。我正在努力使用db:migrate 这是我在航站楼看到的: funkdified@funkdified-laptop:~/railsprojects/hartl$ bundle exec rake db:migrate --trace ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environmen

我正在使用PostgreSQL、Rails 3.1.3和Ruby 1.9.3。我正在努力使用db:migrate

这是我在航站楼看到的:

funkdified@funkdified-laptop:~/railsprojects/hartl$ bundle exec rake db:migrate --trace 
** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Invoke db:load_config (first_time) 
** Invoke rails_env (first_time) 
** Execute rails_env 
** Execute db:load_config 
** Execute db:migrate 
== AddEmailUniquenessIndex: migrating ======================================== 
-- add_index(:users, :email, {:unique=>true})
然后代码就挂起了。你知道为什么吗

发件人:development.log

[1m[36m (0.1ms)[0m [1mSHOW search_path[0m 
[1m[35m (0.5ms)[0m SELECT "schema_migrations"."version" FROM "schema_migrations"
Migrating to CreateUsers (20120124022843) 
Migrating to AddEmailUniquenessIndex (20120124093922) 
[1m[36m (0.1ms)[0m [1mBEGIN[0m 
[1m[35m (3.6ms)[0m SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t 
INNER JOIN pg_index d ON t.oid = d.indrelid 
INNER JOIN pg_class i ON d.indexrelid = i.oid 
WHERE i.relkind = 'i' 
AND d.indisprimary = 'f' 
AND t.relname = 'users' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = ANY (current_schemas(false)) ) 
ORDER BY i.relname

我只是遇到了一个类似的问题,一个非常简单的迁移在没有明显原因的情况下停止了。我相信问题与无法获得数据库连接有关。我退出了在另一个终端中打开的rails控制台会话,然后迁移立即顺利完成。

我也遇到了同样的问题。。我发现有一个空闲事务阻止了对该表的进一步查询

运行:

查看数据库进程。您必须终止空闲进程:

heroku pg:kill 913 --force --app=...

913是空闲进程的ID->根据您的需要更改它

您是否可以登录具有适当权限的PostgreSQL用户,并从pg_stat_activity中选择*我当然可以。我刚刚通过pgAdmin III执行了此查询:-执行查询:从pg_stat_activity Total query runtime中选择*:11毫秒。检索到4行。@derobert,感谢您的回复,但今天早上迁移对我有效。没有什么不同-相同的迁移文件。也许计算机只是需要重新启动?奇怪,很高兴它起作用了。。。它可能是PosgreSQL的自动真空或自动统计收集在一夜之间启动的。顺便说一句:pg_stat_活动选择的想法是您可以看到迁移正在运行的查询。当你只是粘贴行数,没有行数的时候,有点失败了…在运行这些东西之前,在ctrl-c'ing你的rails服务器和任何打开的rails控制台(如果有)之后尝试迁移。我的解决方案也是一样的。我在另一个终端选项卡中关闭了连接,迁移立即结束。这里也一样。我已经多次遇到这个问题,因为我在另一个选项卡中有一个rails控制台终端窗口。关闭它,运行迁移并成功完成。
heroku pg:kill 913 --force --app=...