如何将主键添加到rails中的表

ban*_*ing 21 ruby ruby-on-rails

嗨,我的rails应用程序中有一个表没有任何id列或主键.多数民众赞成因为这张桌子是从以前的应用程序带入我的rails应用程序,并且该表格预先填充了数据.我现在意识到,如果没有整数主键,rails就无法在浏览器中显示编辑和显示视图.所以我需要在我的数据库中添加一个id列,它是一个主键并且自动增量.

基于我的谷歌搜索,我发现了一些关于为表创建主键的帖子,但没有完成任何内容.

所以我想知道是否有人可以帮助我.到目前为止,我所知道的是,为了更改表,必须编写一个迁移然后运行它.需要运行以添加id列的命令如下:

rails generate migration add_id_to_businesses id:primary_key
Run Code Online (Sandbox Code Playgroud)

但是,在运行此命令后,没有新列添加到我的数据库中.我不知道如何继续..如何在我的数据库中添加新列?

非常感谢一只手.....谢谢,

San*_*ing 32

rails g migration add_id_to_products id:primary_key

      invoke  active_record
      create    db/migrate/20120310085527_add_id_to_products.rb
Run Code Online (Sandbox Code Playgroud)

迁移文件应该看起来像 -

   # db/migrate/20120310085527_add_id_to_products.rb
   class AddIdToProducts < ActiveRecord::Migration
     def change
        add_column :products, :id, :primary_key
     end
   end
Run Code Online (Sandbox Code Playgroud)

  • 将`first:true`添加到`add_column`行的末尾也是很好的,这样就可以将列添加为表中的第一个字段. (5认同)
  • 这仅适用于整数主键. (3认同)