У меня возникла проблема с тем, как первичный ключ увеличивается, когда я удаляю файл из таблицы и начинаю вставлять его снова. Это проблематично, потому что у меня есть другие модели, которые связаны с очищенной таблицей. Например, если у меня есть Apple, принадлежащий к компьютеру, тогда, когда я очищаю таблицу компьютеров и снова добавляю компьютер, ассоциации становятся беспорядочными, потому что у Apple теперь есть дочерний компьютер в своих рядах. Я хочу иметь возможность сбросить первичный ключ компьютера, чтобы при повторном добавлении компьютера ассоциация оставалась неповрежденной. Как я должен делать это в рельсах?Идентификатор первичного ключа в рельсах
Редактировать Мне очень жаль, что я не знаю об этом, но теперь я скажу, что хочу, я хочу. Я хочу, чтобы пользователь был связан с машиной (компьютером). Компьютер имеет свой собственный идентификатор и может быть создан только администратором. В компьютере есть фиксированный объем компьютера.
User
belongs_to :computer
Computer
has_many :users
Проблема, с которой я столкнулся в том, что у меня есть компьютерный стол предварительно загружены в seeds.rb/некоторой rakefile. Когда я запускаю свое приложение, я хочу просто запустить файл, который сначала удаляет все, а затем предварительно загружает таблицу. Это позволит пользователю выбрать компьютер только из тех, которые указаны в таблице компьютеров. Я хочу снова запустить этот скрипт (скажем, в консоли heroku, не отбрасывая таблицу User) и по-прежнему получать одинаковый идентификатор, связанный с каждой машиной (и, следовательно, с каждым пользователем). Я смущен тем, как я должен это делать. Пожалуйста, дайте мне знать, если я буду делать это по-другому.
Нельзя загружать данные такого рода семенами или светильниками или что-то еще. Он должен поддерживаться через некоторый интерфейс администратора. Не используйте два первичных ключа - вы попадете в большой беспорядок :) – klew
Может быть, попытайтесь объяснить, что вы делаете и почему вы хотите это сделать. – klew
Я отредактировал свой ответ – klew