আমি এর মতো একটি নতুন রেকর্ড তৈরি করি:
truck = Truck.create(:name=>name, :user_id=>2)
আমার ডাটাবেসে বর্তমানে ট্রাকের জন্য কয়েক হাজার সত্ত্বা রয়েছে, তবে আমি আইডিটি বেশিরভাগের কাছে অর্পণ করেছি, যাতে কিছু আইডি পাওয়া যায়। সুতরাং যা ঘটছে তা হল রেলগুলি আইডি = 150 দিয়ে আইটেম তৈরি করে এবং এটি দুর্দান্ত কাজ করে। তবে তারপরে এটি একটি আইটেম তৈরি করে এটিকে = 151 নির্ধারণের চেষ্টা করে তবে সেই আইডি ইতিমধ্যে উপস্থিত থাকতে পারে, তাই আমি এই ত্রুটিটি দেখছি:
ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey"
DETAIL: Key (id)=(151) already exists.
এবং পরের বার আমি অ্যাকশনটি চালাচ্ছি, এটি কেবল 152 আইডিটি অর্পণ করবে, যা যদি ইতিমধ্যে মানটি না নেওয়া হয় তবে তা ঠিক কাজ করবে। কোনও আইডি নির্ধারিত হওয়ার আগেই এটি ইতিমধ্যে বিদ্যমান কিনা তা পরীক্ষা করার জন্য আমি কীভাবে রেল পেতে পারি?
ধন্যবাদ!
সম্পাদনা
ট্রাক আইডি হ'ল নকল করা হচ্ছে। ব্যবহারকারী ইতিমধ্যে বিদ্যমান এবং এই ক্ষেত্রে একটি ধ্রুবক। এটি আসলে একটি উত্তরাধিকার বিষয় যা আমাকে মোকাবেলা করতে হবে। একটি বিকল্প হ'ল, টেবিলটি পুনরায় তৈরি করা যাক রেলগুলি অটোকে প্রতিটি আইডি প্রায় সময় নির্ধারণ করুন। আমি ভাবতে শুরু করেছি এটি সেরা পছন্দ হতে পারে কারণ আমার আরও কয়েকটি সমস্যা রয়েছে, তবে এটি করার জন্য স্থানান্তর খুব জটিল হবে কারণ অন্যান্য অনেক সারণীতে ট্রাক একটি বিদেশী কী। অটল-নির্ধারিত আইডি সহ এবং বিদ্যমান সমস্ত সম্পর্ক বজায় রেখে ট্রামের মধ্যে ইতিমধ্যে সঞ্চিত একই ডেটা দিয়ে রেলগুলি একটি নতুন টেবিল তৈরি করার সহজ উপায় হতে পারে?