2013-06-01 3 views
0

저는 tinytds를 사용하여 ms-sqlserver 데이터베이스에 연결하고 있습니다. db : migrate는 이미 데이터베이스에 테이블이없는 한 작동합니다. db:migrate을 사용하여 개체를 변경하고 데이터베이스에 복제하려고하면 아래 오류가 발생합니다.레일즈 : db : migrate는 데이터베이스 테이블 (tinytds)을 변경하지 않습니다.

TinyTds::Error: There is already an object named 'apples' in the database.: CREATE TABLE [apples] ([id] int NOT NULL IDENTITY(1,1) PRIMARY KEY, [color] nvarchar(50), [price] nvarchar(50), [created_at] datetime NOT NULL, [updated_at] datetime NOT NULL) /var/lib/gems/1.9.1/gems/activerecord-sqlserver-adapter-3.2.10/lib/active_record/connection_adapters/sqlserver/database_statements.rb:360:in `do' 

데이터베이스가 잘못 구성되어 있거나 레일 프로젝트가 문제가되는지 잘 모르겠습니다. 누구든지 어떤 지침을 제공 할 수 있다면 크게 감사하겠습니다! 감사!

+0

database.yml의 사용자에게 DROP 권한이 있습니까? – muttonlamb

+0

'db_accessadmin', 'db_backupoperator', 'db_datareader', 'db_datawriter', 'db_ddladmin', 'db_owner', 'db_securityadmin'과 같은 사용자가 아닌 다른 멤버를 어디에서 확인할 것인지 확신 할 수 없습니다. – daveomcd

+0

schema_migrations 테이블에서 마이그레이션 번호가 제대로 업데이트되었는지 확인 했습니까? – usha

답변

0

이 문제는 실제로 해결되지는 않았지만 내가 함께 간 해결책을 따르고 싶었습니다. 나는 내 데이터를 백업하고 테이블을 삭제하고 rake db:migrate을 재실행 한 다음 SQL 서버를 통해 데이터를 다시 삽입했습니다.