3
因此當我運行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
任何想法?
從應用程序日誌輸出?它看起來像Rails正在反思表格。首先,我要確保數據庫尚未遷移。遷移後您是否重新啓動了您的Rails應用程序?如果應用程序在生產模式下運行,Rails可能會保留舊模式。 另一種可能性是schema_information中的錯誤條目。我發現檢查這種事情的最簡單方法是使用輕敲將prod數據庫下載到本地數據庫。您也可以針對ActiveRecord :: Base.connection對象發出SQL命令以直接檢查prod數據庫。 – 2011-02-17 18:16:00
嘿,所以問題是(這是非常遲鈍的,我沒有想到這一點)我沒有重新啓動服務器。運行heroku重啓解決了這個問題。 – 2011-02-17 18:25:49