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

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

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

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

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

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

迁移然后突然按预期工作!

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

只是好奇 - 谢谢!

回答:

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

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

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

以上是 Rails 3 - 外键 - 字符串与符号 的全部内容, 来源链接: utcz.com/qa/260605.html

回到顶部