0

我将 add_column :microposts, :type, :string 添加到我的数据库迁移之一(如果重要的话,不是最近的迁移)。并且还运行了 rake db:reset。所以我肯定做出了改变。但是现在如果我运行 rake db:migrate 或 bundle exec rake db:migrate,它不会输出任何东西。如果我运行跟踪...

alex@alex-ThinkPad-T410:~/rails_projects/final2$ rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:migrate
** Invoke db:_dump (first_time)
** Execute db:_dump
** Invoke db:schema:dump (first_time)
** Invoke environment 
** Invoke db:load_config 
** Execute db:schema:dump
4

1 回答 1

0

你写了:

我将 add_column :microposts, :type, :string 添加到我的数据库迁移之一(如果重要的话,不是最近的迁移)。

这听起来很可疑,就好像您刚刚将文本添加到迁移文件中一样。那是行不通的。迁移状态机不会注意到实际文本文件的变化。请检查

rake db:migrate:status

您应该改为创建一个新的迁移

rails g migration AddTypeToMicropost type:string

然后再次运行 rake

于 2012-09-13T18:48:15.460 回答