2015-08-11 3 views
0

здесь я пытаюсь настроить имя столбца в mysql. я сгенерировал модель в рельсах с помощьюКак изменить имя столбца при генерации модели в rails

rails generate scaffold my_products product_category:string product_name:string 

когда я делать rake db:migrate идентификатор генерируется по умолчанию. но я хочу изменить имя столбца id на product_id, которое будет таким же, как идентификатор с первичным ключом, поэтому будет легко запросить и другие манипуляции.

Как мне это сделать?

или я могу изменить id на product_id при создании модели?

+2

http://ruby-journal.com/how-to-override- default-primary-key-id-in-rails/ изменить файл миграции в соответствии с документацией. вам нужно установить 'id: false' и' t.primary_key: product_id' – Athar

+0

, если это вам поможет или нет http://stackoverflow.com/a/30272522/2767755 –

+0

Я изо всех сил пытаюсь подумать, как это помогает запрос и т. д. –

ответ

2

Это как файл миграции должен выглядеть

class CreateMyProducts < ActiveRecord::Migration 
    def change 
    create_table :my_products, id: false do |t| 
     t.primary_key :product_id 
     t.string :product_category 
     t.string :product_name 

     t.timestamps null: false 
    end 
    end 
end 

Убедитесь, что вы добавить id: false и установите primary_key в product_id

Смежные вопросы