Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 如何更改rails上的数据类型?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何更改rails上的数据类型?

Ruby on rails 如何更改rails上的数据类型?,ruby-on-rails,Ruby On Rails,我想将数据类型从string修改为text,并且我遵循了中的教程 然后运行rakedb:migrate和rakedb:rollback 但它给了我一个错误信息 ==20160203133535变更名称提供商:迁移=========================== --更改列(:教授,:姓名,:文本) 雷克流产了! StandardError:发生错误,此迁移和所有后续迁移已取消: 我怎样才能解决它 谢谢你的回答 如果您只想更改单个列: def change change_column

我想将数据类型从
string
修改为
text
,并且我遵循了中的教程

然后运行
rakedb:migrate
rakedb:rollback
但它给了我一个错误信息

==20160203133535变更名称提供商:迁移=========================== --更改列(:教授,:姓名,:文本) 雷克流产了! StandardError:发生错误,此迁移和所有后续迁移已取消:

我怎样才能解决它


谢谢你的回答

如果您只想更改单个列:

def change
  change_column :table_name, :column_name, :text
end
如果要执行回滚,请先执行回滚,然后再更改(已存在的)迁移文件。您不能对更改的迁移文件执行回滚,这是您的场景中可能发生的情况


回滚后,将迁移文件更改为正确的(新)列,然后再次迁移。

您可以从共享实际错误开始:)给出更多错误消息。请向我们显示迁移文件的内容,正如我在错误消息
更改列(:professors,:name,:text)
中看到的那样。其他地方出了什么问题,或者我不知道。