• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Rails 3 – 外键 – 字符串与符号

ruby-on-rails 来源:PhillipKregg 13次浏览

我正在学习Rails,我今晚遇到了一个有趣的问题。Rails 3 – 外键 – 字符串与符号

我创建这将需要外键索引迁移: Migration with Symbol

每当我会跑“捆绑高管耙分贝:迁移”,我会收到此控制台错误: Migration Error

看起来好像它正在创建索引之前它正在创建参考。

的原因,我相信这是因为当我改变“主题”参照符号:

Migration with symbol instead of string

迁移然后突然按预期工作! enter image description here

这可能只是一个事实,即我是一个总newby,但实际上由Ruby比字符串更快地处理符号?

只是好奇 – 谢谢!

===========解决方案如下:

这不是一个“更快”的问题,或者是速度问题。迁移按顺序一次执行一行。您之前指定的方式并未正确创建列,因此,当它到达创建索引的行时,名称不匹配。

我的猜测是,使用字符串版本时,它创建了与拼写完全相同的列名称,“subject”与使用符号时的subject_id相反。无论采用哪种方式,您在创建列时以及索引建立时都会出现名称不匹配。

在你的迁移中总是使用这个符号,你应该没问题。请务必在迁移后检查schema.rb文件或使用GUI工具浏览数据库,以确保按照您期望的方式创建列,以及您认为它们的数据类型,并且您应该很好。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)