2

데이터베이스의 테이블에 새로운 컬럼을 추가하기 위해 Rails 데이터베이스 이주를 만들었지 만 예상보다 오래 걸리는 것으로 나타 났는데 (수동으로 15 분이 더 걸림) 수동으로 루비를 죽였습니다 프로세스를 마이그레이션합니다. 그렇다면 테이블의 데이터 양 때문에 런타임이 평범하지 않았으므로 다시 시작하려고했습니다. 지금은 오류 얻을 :변경 후 중복 된 컬럼 이름 변경

ERROR 1091 (42000): Can't DROP 'new_column'; check that column/key exists 
: 내가 수동으로 MySQL을로 갈 때, 그러나

Mysql::Error: Duplicate column name 'new_column': ALTER TABLE `table_name` ADD `new_column` varchar(255) 

desc table_name 날 알려줍니다 열이 존재하며, 수동 (alter table table_name drop new_column)을 드롭을 시도하지 않는 것을 보여줍니다

초기 추가 프로세스를 중단하는 것처럼 일관성없는 상태가되는 것 같습니다. 이 문제를 해결하려면 무엇을해야합니까?

편집 : 내가 수동으로 추가하는 시도 후 MySQL의 프롬프트에서 열을 떨어 뜨리는합니다 (DDL 위의 오류에서 정확히 복사), 둘 다 잘 작동하지만, rake db:migrate 위에서 나에게 오류를 제공하고 있습니다.

답변

0

실수로 잘못된 데이터베이스에 대한 수동 MySQL 명령을 실행 한 것 같습니다. 데이터베이스의 "개발"버전으로 전환하지 않았습니다. 올바른 데이터베이스를 사용하여 불쾌한 열을 수동으로 제거 할 수있었습니다.

0

이 이 경로

/var/lib/mysql 

로 이동 (폴더로) 데이터베이스의 백업을

다음 데이터베이스 폴더 안에 가서 테이블 파일을 삭제하려고 시도 할 수 있습니다

이 작업 일 수도 있습니다.