আমি এইভাবে মাইগ্রেশন ব্যবহার করে একটি সারণী তৈরি করেছি:
public function up()
{
Schema::create('despatch_discrepancies', function($table) {
$table->increments('id')->unsigned();
$table->integer('pick_id')->unsigned();
$table->foreign('pick_id')->references('id')->on('picks');
$table->integer('pick_detail_id')->unsigned();
$table->foreign('pick_detail_id')->references('id')->on('pick_details');
$table->integer('original_qty')->unsigned();
$table->integer('shipped_qty')->unsigned();
});
}
public function down()
{
Schema::drop('despatch_discrepancies');
}
আমাকে এই টেবিলটি পরিবর্তন করতে হবে এবং বিদেশী কী উল্লেখ এবং কলামটি ছেড়ে দিতে pick_detail_id
হবে এবং কলামের sku
পরে ডাকা একটি নতুন ভারচর কলাম যুক্ত করতে হবে pick_id
।
সুতরাং, আমি অন্য একটি মাইগ্রেশন তৈরি করেছি, যা দেখতে এরকম দেখাচ্ছে:
public function up()
{
Schema::table('despatch_discrepancies', function($table)
{
$table->dropForeign('pick_detail_id');
$table->dropColumn('pick_detail_id');
$table->string('sku', 20)->after('pick_id');
});
}
public function down()
{
Schema::table('despatch_discrepancies', function($table)
{
$table->integer('pick_detail_id')->unsigned();
$table->foreign('pick_detail_id')->references('id')->on('pick_details');
$table->dropColumn('sku');
});
}
আমি যখন এই মাইগ্রেশন চালাচ্ছি তখন আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:
[আলোকপাত করুন \ ডেটাবেস \ ক্যোরিএক্সেপশন]
এসকিউএলসেট [এইচওয়াই 2000]: সাধারণ ত্রুটি: 1025 './dev_iwms_reboot/despatch_discrepancies' থেকে './dev_iwms_reboot/#sql2-67c-17c464' (এররন: 152) সারণী (এলআরএলএল):despatch_discrepancies
বিদেশী কী পিক_ডেটেল_আইডি ড্রপ করুন)[PDOException]
এসকিউএলসেট [HY000]: সাধারণ ত্রুটি: './dev_iwms_reboot/despatch_discrepancies' থেকে './dev_iwms_reboot/#sql2-67c-17c464' এর নাম পরিবর্তন (103)
php artisan migrate:rollback
কমান্ডটি চালিয়ে যখন আমি এই মাইগ্রেশনটি উল্টানোর চেষ্টা করি তখন আমি একটি Rolled back
বার্তা পাই তবে এটি ডাটাবেসে আসলে কিছুই করছে না।
কোন ধারণা কি ভুল হতে পারে? বিদেশী কী উল্লেখ রয়েছে এমন কোনও কলাম আপনি কীভাবে ফেলেছেন?