运行Heroku rake db:在Heroku上迁移不会迁移数据库

运行Heroku rake db:在Heroku上迁移不会迁移数据库

问题描述:

因此当我运行heroku rake db:migrate后,推送我的最新代码Heroku不会改变表格。但是,当我尝试在我的电脑上(我也使用Postgresql)并运行rake db:migrate时,它会迁移数据库并将必要的表和字段添加到现有表中。运行Heroku rake db:在Heroku上迁移不会迁移数据库

但是,从heroku,我没有得到任何错误,这是我得到的回应。

SQL (2.4ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'flow_elements' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (2.2ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"flows"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.7ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"flows"'::regclass 

    SQL (2.7ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'flows' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (2.3ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"images"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.3ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"images"'::regclass 

    SQL (2.3ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'images' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (2.2ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"login_histories"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.8ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"login_histories"'::regclass 

    SQL (2.7ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'login_histories' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (2.1ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"projects"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.2ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"projects"'::regclass 

    SQL (2.6ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'projects' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (2.3ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"projects_users"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.5ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"projects_users"'::regclass 

    SQL (2.4ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'projects_users' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (2.2ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"questions"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.2ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"questions"'::regclass 

    SQL (2.4ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'questions' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    Columns for index questions_fts_idx on questions (1.8ms) SELECT a.attnum, a. 
attname 
FROM pg_attribute a 
WHERE a.attrelid = 48972 
AND a.attnum IN (0) 

    SQL (2.1ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"screens"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (4.3ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"screens"'::regclass 

    SQL (2.4ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'screens' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

    SQL (3.0ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, 
a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"users"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 

    PK and serial sequence (3.6ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"users"'::regclass 

    SQL (2.4ms) SELECT distinct i.relname, d.indisunique, d.indkey, t.oid 
FROM pg_class t, pg_class i, pg_index d 
WHERE i.relkind = 'i' 
AND d.indexrelid = i.oid 
AND d.indisprimary = 'f' 
AND t.oid = d.indrelid 
AND t.relname = 'users' 
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN ('"$user"' 
,'public')) 
ORDER BY i.relname 

任何想法?

+0

从应用程序日志输出?它看起来像Rails正在反思表格。首先,我要确保数据库尚未迁移。迁移后您是否重新启动了您的Rails应用程序?如果应用程序在生产模式下运行,Rails可能会保留旧模式。 另一种可能性是schema_information中的错误条目。我发现检查这种事情的最简单方法是使用轻敲将prod数据库下载到本地数据库。您也可以针对ActiveRecord :: Base.connection对象发出SQL命令以直接检查prod数据库。 – 2011-02-17 18:16:00

+1

嘿,所以问题是(这是非常迟钝的,我没有想到这一点)我没有重新启动服务器。运行heroku重启解决了这个问题。 – 2011-02-17 18:25:49

您需要使用“heroku restart”重新启动heroku服务器。