2011-02-17 2 views
3

그래서 heroku rake db : migrate를 실행하면 최신 코드를 푸시 한 후 Heroku가 테이블을 변경하지 않습니다. 그러나 필자가 PC (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가 테이블을 들여다 보는 것처럼 보입니다. 먼저 db가 이미 마이그레이션되지 않았는지 확인해야합니다. 마이그레이션 후에 레일 앱을 다시 시작 했습니까? 앱이 프로덕션 모드에서 실행 중이면 Rails가 이전 스키마를 고수하고있을 가능성이 있습니다. 또 다른 가능성은 schema_information의 잘못된 항목입니다. 이런 종류의 것을 확인하는 가장 쉬운 방법은 탭을 사용하여 prod db를 로컬 데이터베이스로 가져 오는 것입니다. ActiveRecord :: Base.connection 오브젝트에 대해 SQL 명령을 발행하여 prod db를 직접 확인할 수도 있습니다. –

+1

어이, 문제는 (그리고 이것은 꽤 늦어서 내가 전에 생각하지 못했던 것입니다) 서버를 다시 시작하지 않았습니다. 영웅을 다시 시작하면 문제가 해결되었습니다. –

답변

5

"heroku restart"를 사용하여 heroku 서버를 다시 시작해야합니다.

+0

감사합니다. –

+0

항상 일하는이 마법은 무엇입니까 !! –

관련 문제