Ruby on rails Rails:db:migrate不会对数据库表(tinytds)进行更改

Ruby on rails Rails:db:migrate不会对数据库表(tinytds)进行更改,ruby-on-rails,sql-server-2012,dbmigrate,tiny-tds,Ruby On Rails,Sql Server 2012,Dbmigrate,Tiny Tds,我正在使用tinytds连接到ms sqlserver数据库。我注意到只要数据库中没有表,db:migrate就可以工作。一旦我尝试使用db:migrate对对象进行更改并复制到数据库,我就会得到下面的错误 TinyTds::Error: There is already an object named 'apples' in the database.: CREATE TABLE [apples] ([id] int NOT NULL IDENTITY(1,1) PRIMARY KEY, [c

我正在使用tinytds连接到ms sqlserver数据库。我注意到只要数据库中没有表,db:migrate就可以工作。一旦我尝试使用
db:migrate
对对象进行更改并复制到数据库,我就会得到下面的错误

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'

我不确定问题是我的数据库配置不正确还是我的rails项目不正确。如果有人能提供任何指导,我将不胜感激!谢谢

这确实不是一个解决方案,但我只是想继续使用我使用的解决方案。最后我备份了数据并删除了表,然后重新运行了
rake db:migrate
,然后通过sql server重新插入了数据。

database.yml中的用户是否具有删除权限?我不确定除了用户之外,在哪里可以检查其他用户是否具有以下成员角色,
“db\u accessadmin”,“db\u backupoperator”,“db_datareader”、“db_datawriter”、“db_ddladmin”、“db_owner”、“db_securityadmin”
您是否检查了您的schema_migrations表以查看是否正确更新了迁移号?@Vimsha,表中前面有六行。不知道如何检查它们是否正确。据我所知,它应该只有一个号码。上次运行的迁移。这就是它决定哪些迁移已经运行的方式。