как добавить первичный ключ к таблице в рельсах - PullRequest
21 голосов
/ 10 марта 2012

Привет! В моем приложении rails есть таблица, в которой нет ни столбца id, ни первичного ключа. Это потому, что эта таблица была перенесена в мое приложение rails из предыдущего приложения, и таблица заполнена данными. Теперь я понимаю, что без целочисленного первичного ключа рельсы не могут отображать редактирование и показывать представления в браузере. Поэтому я решил добавить в мою базу данных столбец идентификатора, который является первичным ключом и автоинкрементами.

Основываясь на своем поиске, я наткнулся на несколько сообщений о создании первичных ключей для таблицы, но ничего не было завершено.

Так что мне интересно, может ли кто-нибудь помочь мне здесь. Пока что я знаю, что для того, чтобы изменить таблицу, нужно написать миграцию, а затем запустить ее. Команда, которую необходимо выполнить для добавления столбца id, выглядит следующим образом:

rails generate migration add_id_to_businesses id:primary_key

Однако после выполнения этой команды новый столбец не добавляется в мою базу данных. Я не уверен, что делать дальше. Как мне добавить новый столбец в мою базу данных?

Был бы очень признателен за руку ..... Спасибо,

1 Ответ

32 голосов
/ 10 марта 2012
rails g migration add_id_to_products id:primary_key

      invoke  active_record
      create    db/migrate/20120310085527_add_id_to_products.rb

Файл миграции должен выглядеть следующим образом -

   # db/migrate/20120310085527_add_id_to_products.rb
   class AddIdToProducts < ActiveRecord::Migration
     def change
        add_column :products, :id, :primary_key
     end
   end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...