Ruby on rails 在RoR中添加新脚手架时发生SQL错误
我做了一个新脚手架Ruby on rails 在RoR中添加新脚手架时发生SQL错误,ruby-on-rails,scaffolding,Ruby On Rails,Scaffolding,我做了一个新脚手架 rails generate scaffold hobbies description:text 并删除了它,因为我想添加更多字段 rails destroy scaffold hobbies 然后读了一遍 rails generate scaffold hobbies description:text schedule:text 现在,当我运行rakedb:migrate时,我得到了这个错误 SQLite3::SQLException: table "hobbies"
rails generate scaffold hobbies description:text
并删除了它,因为我想添加更多字段
rails destroy scaffold hobbies
然后读了一遍
rails generate scaffold hobbies description:text schedule:text
现在,当我运行rakedb:migrate时,我得到了这个错误
SQLite3::SQLException: table "hobbies" already exists: CREATE TABLE "hobbies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "description" varchar(255), "created_at" datetime, "updated_at" datetime) /Users/Aeip/.rvm/gems/ruby-2.0.0-p353/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'
您是否喜欢rails d脚手架描述:文本
然后rails生成描述:文本明细表:文本
然后再次运行生成器此解决方案不会在每次您要撤消迁移时都起作用,但对于您的场景,它也可以正常工作,因为您只需删除表即可 运行生成器时,请注意迁移文件的时间戳
rails generate scaffold hobbies description:text schedule:text
>> invoice active_record
>> create db/migrate/20140309162533_create_hobbies.rb
由于要删除嗜好表,因此需要运行向下版本的迁移,并且可以使用rake db:migrate:down来完成。确保传递要运行的迁移的时间戳
rake db:migrate:down VERSION=20140309162533
看起来你已经有这张桌子了。尝试手动删除它,然后再次运行。afurm,如何删除该表?破坏脚手架不是这样吗?试着从模式中删除它。rbOkay,这已经奏效了。它现在运转良好
rake db:migrate:down VERSION=20140309162533