rake:db migrate不返回任何内容

时间:2011-01-08 07:01:40

标签: mysql ruby-on-rails rake

我创建了一个模型文章,并在001_create_articles.rb

中添加了以下代码
class CreateArticles < ActiveRecord::Migration
  def self.up
create_table :articles do |t|
    t.string :title
    t.text   :body
    t.string :published_at

    t.timestamps
end
  end
def self.down
drop_table :articles
end
end

然后我尝试了

 rake db:migrate --trace
我得到任何输出,控制台只是闪烁一分钟。 rake的输出是

C:\InstantRails-2.0-win\rails_apps\blog>rake db:migrate --trace
(in C:/InstantRails-2.0-win/rails_apps/blog)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump

同样 rake:db migrate在我的任何项目中都不起作用

此外,Mysql服务器正在运行,我可以登录服务器。我的database.yml文件很好。

这是配置问题还是我遗漏了什么?

1 个答案:

答案 0 :(得分:1)

您的数据库有schema_migrations

如果文件已经运行,版本号将在那里,您可以删除该数据库中的条目并运行db:migrate,请注意它也可能会删除所有数据。

如果要在不修改数据的情况下对数据库进行增量更改,可以创建一个修改现有数据库结构的新迁移示例:

note that you need to do this in a new migration file.
class AddAttachmentCxpp1ToCustomer < ActiveRecord::Migration
  def self.up
    add_column :customers, :cxpp1_file_name, :string
    add_column :customers, :cxpp1_content_type, :string
    add_column :customers, :cxpp1_file_size, :integer
    add_column :customers, :cxpp1_updated_at, :datetime
  end

  def self.down
    remove_column :customers, :cxpp1_file_name
    remove_column :customers, :cxpp1_content_type
    remove_column :customers, :cxpp1_file_size
    remove_column :customers, :cxpp1_updated_at
  end
end