2010-01-20 4 views
0

나는 데이터베이스에 주문이 있고, 많은 주문 아이템을 주문하고있다. 하나의 제품을 부주의하게 삭제했으며 주문 항목과 관련되어있어 성공적으로로드 할 수 없습니다. 그래서 SQLite 데이터베이스 브라우저를 사용하여 주문과 주문 항목을 삭제합니다. 그러나 서버를 다시 시작하면 다음 메시지가 나타납니다.레일에있는 루비는 레코드를 수동으로 삭제할 수 없습니까?

죄송하지만 일이 잘못되었습니다. 이 문제에 대해 님에게 통보 받았습니다. 곧 살펴 보겠습니다.

개발 모드를 사용하고 있습니다.

+1

도움이 될만한 정보가 더 필요합니다. 아마도 로그에서 실패한 것을 알 수 있습니다. 관련 부분을 게시 할 수 있습니까? –

답변

3

데이터베이스를 저장하고 SQLite 브라우저를 닫았습니까? 데이터베이스가 잠길 수 있습니다.

또한 특정 주문을 삭제하는 것을 잊어 버렸기 때문에 존재하지 않는 제품을 찾고있을 수도 있습니다.

향후 개발 모드에 있는지 확인하십시오. 개발 모드를 선택하면 더 자세한 설명이 포함 된 오류 메시지가 표시됩니다.

+0

이 맞으면 DB가 잠겨 있습니다. – DNB5brims

0

이것은 표준 레일 오류 메시지입니다. 정확히 무엇이 발생했는지 파악하기 위해 개발 로그를 봐야합니다.

변경 사항이 데이터 무결성을 손상시키지 않으면 수동으로 레코드를 수정할 수 있습니다.

ActiveRecord :dependent 연관 옵션을 사용하여 해당 특정 클래스의 레코드가 삭제 될 때 ActiveRecord가 수행해야하는 작업을 지정하는 것이 좋습니다.

또한 record.deleterecord.destroy과 다릅니다. 첫 번째 콜백은 연관된 콜백을 실행하지 않습니다.

+0

그는했다. 종속성 => : 파괴로 지정된 경우 자식 제거와 같이 콜백 콜을 파괴합니다. 삭제는 단순히 행을 제거합니다. – Matchu

관련 문제