ruby – db:migrate在简单迁移时挂起

我正在使用PostgreSQL,Rails 3.1.3和 Ruby 1.9.3.我正在努力使用db:migrate,如 here所述.

这就是我在终端中看到的:

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

解决方法

我有同样的问题..我发现有空闲的事务阻止了对这个表的进一步查询..

跑:

heroku pg:ps --app=...

查看数据库进程.你将不得不杀死空闲进程:

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

(913是空闲进程的ID – >根据您的需要更改)

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...