我创建了一个模型文章,并在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文件很好。
这是配置问题还是我遗漏了什么?
答案 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