Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在RoR中添加新脚手架时发生SQL错误_Ruby On Rails_Scaffolding - Fatal编程技术网

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