Rails3.1中的数据库迁移

发布于 2024-12-01 08:36:08 字数 471 浏览 0 评论 0原文

最近遇到一个关于rails3.1迁移的问题,这里是迁移文件代码。

def change
  create_table :books do |t|
    t.string :title
    t.decimal :price
  end
end

现在我需要添加一个外键,比如说comment_id,我曾经创建另一个迁移并在其中使用add_column 方法来完成它。

但由于我们处于rail3.1中,所以我认为可能有一种新的方法可以做到这一点。所以我改变了代码

def change
  create_table :books do |t|
    t.string :title
    t.decimal :price
    t.references :comment
  end
end

,现在我运行 rake db:migrate 并且没有任何反应。有什么想法吗?

Recently I got a question about rails3.1's migration.Here is the one of the migration file code.

def change
  create_table :books do |t|
    t.string :title
    t.decimal :price
  end
end

Now I need to add a foreign key, let's say comment_id, I used to create another migration and use add_column method in it to get it done.

But since we are in rail3.1,so I thought there might be a new way to do it.so I alter the code

def change
  create_table :books do |t|
    t.string :title
    t.decimal :price
    t.references :comment
  end
end

OK,now I run rake db:migrate and nothing happens. Any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

喜你已久 2024-12-08 08:36:08

您在运行 rake db:migrate 之前运行过 rake db:rollback 吗?您需要先回滚迁移,然后才能重新应用更改。

did you run rake db:rollback before running rake db:migrate? You need to roll back the migration before reapplying it with the changes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文