2012-09-13 2 views
2

내가 함께 발키리를 사용하여 내 Heroku가 포스트 그레스 데이터베이스에 내 로컬 MySQL 데이터베이스를 추진하기 위해 노력하고있어에 mysql을 밀어 때 다음관계 오류 Heroku가

그런 다음 잘 실행을 시작하는 것처럼 보이지만
valkyrie mysql://localhost/themedb postgres://DATABASE__COLOR_URL/here 

는 제약 조건 발견 오류 알아낼 질수보다 :

Transferring 17 tables: 
auth_group:  100% |=========================================| Time: 00:00:02 
auth_group_per: 100% |=========================================| Time: 00:00:00 
auth_message: 100% |=========================================| Time: 00:00:00 
auth_permissio: 100% |=========================================| Time: 00:00:02 
auth_user:  100% |=========================================| Time: 00:00:00 
auth_user_grou: 100% |=========================================| Time: 00:00:00 
C:/Program Files (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/sequel-3.31.0/lib/sequel/adapters/postgre 
s.rb:181:in `async_exec': PG::Error: ERROR: relation "user_id" already exists(Sequel::DatabaseError) 

나는이 모델은 django.contrib.auth에서 생각 나는 관계 오류가 왜 볼니까. 어떤 아이디어?

+0

알아낼 수 있었습니까? 나는 같은 문제가있다. 감사. – Nathan

답변

0

문제는 valkyrie에서 수정되었습니다. 다음은 valkyrie source에서이 문제에 대한 설명입니다 :

MySQL의 인덱스 네임 스페이스는 데이터베이스 당 대, 테이블 당, 그래서 거기에 가 될 것이 PostgreSQL의 이동, 인덱스 이름 충돌에 MySQL의에서 가능합니다.

또한이 솔루션은 자세히 설명되어 있습니다 :

이 코드는 그렇다면 그것의,에서 PostgreSQL을, 에 MySQL 데이터베이스를 를오고 있는지 확인

는 시도가 두 번째를 만들 수 있는지 확인합니다 같은 이름 의 IDX 실패한 마이그레이션에없는 결과를 않지만, 단지을 것을 테이블 이름

주를 씁니다 인덱스의 이름을 변경'고정'버전을 설치하지 않습니다. 위대한 github에서 최신 코드를 얻어야합니다.

0

대상 데이터베이스가 비어 있습니까? 오류는 명시 적으로 user_id 필드가 이미 작성 중일 때 나타납니다.

+0

나는 그것이 있어야한다고 생각한다. 나는 전송하기 전에 그것을 만들었다. – leonsas

+0

우연히 새로운 db에서 syncdb를 실행 했습니까? –

+0

아니요. 나는 또한 단지 heroku pg : reset으로 리셋을 시도했지만, 전송하려고하면 에러가 발생한다. – leonsas

0

MySQL의 원본 데이터가 깨끗합니까? MySQL 데이터베이스에서 제약 조건을 확인하고 InnoDB를 사용하고 있습니까?

dev 데이터베이스에 중복 항목이있을 수 있습니다.

+0

깔끔한 것은 무엇을 의미하나요, 어떻게 확인할 수 있습니까? 어쨌든, 오류를 일으키는 테이블은 비어 있습니다. – leonsas

+0

오류의 원인이되는 테이블은 무엇입니까? 질문에 추가 할 수 있습니까? 정리하자면, FK 릴레이션이 존재하지 않아야하는 곳에 중복이 존재하지 않는다는 것을 의미합니다 (MySQL이 이러한 제약을 시행하고 있다면 충분히 좋을 것입니다). – Steven