Saya membuat rekor baru seperti ini:
truck = Truck.create(:name=>name, :user_id=>2)
Database saya saat ini memiliki beberapa ribu entitas untuk truk, tetapi saya menetapkan id ke beberapa di antaranya, dengan cara yang membuat beberapa id tersedia. Jadi yang terjadi adalah rel membuat item dengan id = 150 dan berfungsi dengan baik. Tetapi kemudian mencoba untuk membuat item dan menetapkannya id = 151, tetapi id itu mungkin sudah ada, jadi saya melihat kesalahan ini:
ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey"
DETAIL: Key (id)=(151) already exists.
Dan lain kali saya menjalankan tindakan, itu hanya akan menetapkan id 152, yang akan berfungsi dengan baik jika nilai itu belum diambil. Bagaimana saya bisa mendapatkan rel untuk memeriksa apakah ID sudah ada sebelum menetapkannya?
Terima kasih!
EDIT
Id truk adalah apa yang sedang diduplikasi. Pengguna sudah ada dan dalam kasus ini adalah konstanta. Ini sebenarnya adalah masalah warisan yang harus saya tangani. Salah satu opsinya, adalah membuat ulang tabel di let rails secara otomatis menetapkan setiap id kali ini. Saya mulai berpikir ini mungkin pilihan terbaik karena saya memiliki beberapa masalah lain, tetapi migrasi untuk melakukan ini akan sangat rumit karena Truck adalah kunci asing di banyak tabel lainnya. Akankah ada cara sederhana untuk membuat rel membuat tabel baru dengan data yang sama sudah disimpan di bawah Truck, dengan ID yang ditetapkan secara otomatis dan mempertahankan semua hubungan yang ada?