ruby-on-rails – 更改rails中的外键列名称
发布时间:2020-12-16 23:07:41 所属栏目:百科 来源:网络整理
导读:我有一个像这样的Project迁移类: class CreateProjects ActiveRecord::Migration def change create_table :projects do |t| t.string :title t.text :description t.boolean :public t.references :user,index: true,foreign_key: true t.timestamps null:
我有一个像这样的Project迁移类:
class CreateProjects < ActiveRecord::Migration def change create_table :projects do |t| t.string :title t.text :description t.boolean :public t.references :user,index: true,foreign_key: true t.timestamps null: false end end end 它在项目表中创建了一个列名user_id,但是我想将列命名为owner_id,因此我可以使用project.owner而不是project.user. 解决方法
你可以用两种方式做到:
#app/models/project.rb class Project < ActiveRecord::Base belongs_to :owner,class_name: "User",foreign_key: :user_id end 要么 $rails g migration ChangeForeignKeyForProjects # db/migrate/change_foreign_key_for_projects.rb class ChangeForeignKeyForProjects < ActiveRecord::Migration def change rename_column :projects,:user_id,:owner_id end end 然后: $rake db:migrate (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – WebSocket握手期间出错:意外的响应代码:
- Qt模块化笔记之core——QXmlStreamWriter写XML
- database – 如何更新oracle中列的所有行,其起始值为500,并
- c# – 如何找出哪个程序集处理请求
- iSight does not work with online Flash-based chat sites
- [Swift通天遁地]二、表格表单-(18)快速应用多种预定义格式的
- vb.net – 集合的MVC Dataannotation验证规则?
- C#基础知识之base关键字介绍
- JSON.parse()和JSON.stringify()
- 45.Oracle杂记——Oracle常用动态视图v$system_event