迁移和加载模式都不会向Rails/MySQL数据库添加列
我已经创建了一个迁移,以便在Rails中的MySQL数据库中添加一个迁移和加载模式都不会向Rails/MySQL数据库添加列,mysql,ruby-on-rails,ruby,rake,rails-migrations,Mysql,Ruby On Rails,Ruby,Rake,Rails Migrations,我已经创建了一个迁移,以便在Rails中的MySQL数据库中添加一个is\u ms\u admin列: class AddIsAdminToUsers < ActiveRecord::Migration def change add_column :users, :is_ms_admin, :boolean end end 在运行rake db:migrate时,迁移运行时不会抛出任何错误。使用rakedb:schema:load也不会出错。两者似乎都取得了成功 但是,当
is\u ms\u admin
列:
class AddIsAdminToUsers < ActiveRecord::Migration
def change
add_column :users, :is_ms_admin, :boolean
end
end
在运行rake db:migrate时,迁移运行时不会抛出任何错误。使用rakedb:schema:load
也不会出错。两者似乎都取得了成功
但是,当我从MySQL表中选择列名时,只有大多数列存在:
mysql> SELECT `COLUMN_NAME`
-> FROM `INFORMATION_SCHEMA`.`COLUMNS`
-> WHERE `TABLE_SCHEMA`='metasmoke'
-> AND `TABLE_NAME`='users';
+---------------------+
| COLUMN_NAME |
+---------------------+
| id |
| email |
| encrypted_password |
| remember_created_at |
| sign_in_count |
| current_sign_in_at |
| last_sign_in_at |
| current_sign_in_ip |
| last_sign_in_ip |
| created_at |
| updated_at |
| is_approved |
+---------------------+
我主要关心的是is\u ms\u admin
列,但了解两个reset\u password
列不存在的原因也很有用
我不是从Rails控制台运行所有这些,所以问题不是因为控制台缓存了东西;在重新加载了信息\u SCHEMA
表之后,很明显,这些列根本没有创建,而不是任何相关问题
为什么该列不存在,我如何修复它?可能需要更多信息,但我不知道该怎么办-如果您想查看某些内容,请大叫。您可能已经看到了,但为了以防万一,请使用重新加载命令重新加载rails控制台!通过阅读本文,我看到了以下注释:表中的行(可能还有INFORMATION\u SCHEMA.TABLES中的一些其他列)可能与当前表内容不同步,但您可以通过运行ANALYZE来更新它。所以,可能是这样的。@fanta'fraid不是,我仍然有相同的专栏。我认为它实际上不是被创建的,而是一个围绕的问题。@volx757我实际上不在rails控制台中,只是一个mysql shell。重新启动并没有起到任何作用。可能需要更多信息,但我不知道该怎么办-如果你想看到什么,请大叫。你可能已经看到了,但以防万一,请用重新加载命令重新加载rails控制台!通过阅读本文,我看到了以下注释:表中的行(可能还有INFORMATION\u SCHEMA.TABLES中的一些其他列)可能与当前表内容不同步,但您可以通过运行ANALYZE来更新它。所以,可能是这样的。@fanta'fraid不是,我仍然有相同的专栏。我认为它实际上不是被创建的,而是一个围绕的问题。@volx757我实际上不在rails控制台中,只是一个mysql shell。重新启动没有任何作用。
mysql> SELECT `COLUMN_NAME`
-> FROM `INFORMATION_SCHEMA`.`COLUMNS`
-> WHERE `TABLE_SCHEMA`='metasmoke'
-> AND `TABLE_NAME`='users';
+---------------------+
| COLUMN_NAME |
+---------------------+
| id |
| email |
| encrypted_password |
| remember_created_at |
| sign_in_count |
| current_sign_in_at |
| last_sign_in_at |
| current_sign_in_ip |
| last_sign_in_ip |
| created_at |
| updated_at |
| is_approved |
+---------------------+