Rails和MySQL:布尔值的错误解释

时间:2017-03-14 16:44:46

标签: mysql ruby-on-rails rails-migrations

我使用Rails 5.0和MySQL作为数据库。

我有一个名为" users"我存储用户是否喜欢在" likes_to_cook"柱。 Rails将此列解释为boolean,这是预期的行为。

我添加了一个新专栏" likes_hot_meals"通过迁移:

add_column :users, :likes_hot_meals, :boolean, null: false, default: true

迁移工作,我现在唯一的问题是这个新列不是解释为布尔值而是解释为整数。这个结果在接口和API中是1/0而不是真/假,这不是我想要的。

以下是数据库中的列的外观:

mysql> describe users;
+-----------------------------------------------------+--------------+------+-----+--------------+----------------+
| Field                                               | Type         | Null | Key | Default      | Extra          |
+-----------------------------------------------------+--------------+------+-----+--------------+----------------+
| likes_to_cook                                       | tinyint(1)   | NO   |     | 1            |                |
| likes_hot_meals                                     | tinyint(1)   | NO   |     | 1            |                |
+-----------------------------------------------------+--------------+------+-----+--------------+----------------+

有没有人解释为什么会发生这种情况以及如何解决这个问题?非常感谢!感谢。

1 个答案:

答案 0 :(得分:0)

想出来!在此更改导致上述问题后,我没有重新启动应用程序。

一个很好的例子“你试过把它关掉再打开吗?” 这是漫长的一天......