رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
foreign key
#1
سلام

من میخواستم که یک سری جدول با مابگریشن تولید کنم که بعضی از اونا foreign key دارند. این مشکل که د ر ادامه خدمتتون عرض میکنم مثل اینکه خیلی شایع هستش،بنده وقتی میخوام مایگریشن مربوط به یه جدول که شامل foreign key هستش رو اجرا کنم این ارور رو میخورم .


[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'adsdatabase6.#sql-8e8_35' (errno: 150) (SQL: alter table `
testing` add constraint testing_guid_foreign foreign key (`guID`) references `user_info_tbl` (`guID`))






[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'adsdatabase6.#sql-8e8_35' (errno: 150)


سر این مایگریشنا خیلی اذیت شدم حس میکنم منطق خاصی نداره انگار! یه دور گیر میده یه دور رد میشه. بعد مشکل بعدی اینکه من هربار وقتی این ارور و میخورم مجبورم کل دیتابیسمو پاک کنم و یدونه جدید بسازم چون که اگه پاک نکنم ارور میده که این جدول وجود داره. و اگه هم بخوام که تو خود مای اسکوئل دستی پاک کنم با اینکه جدول رو نشون میده اما میگه جدول رو نمیشناسه

Huh Huh Huh
پاسخ
#2
خب شما باید کد migration ایی که نوشتید رو اینجا قرار می دادید تا بتونیم کمک کنیم

در کل کلید های خارجی رو طبق مستندات تعریف کنید یعنی ابتدا ستونش رو به صورت unsigned تعریف کنید بعد relation رو ایجاد کنید
پاسخ
#3
(11-20-2015, 03:24 PM)hamo نوشته:  خب شما باید کد migration ایی که نوشتید رو اینجا قرار می دادید تا بتونیم کمک کنیم

در کل کلید های خارجی رو طبق مستندات تعریف کنید یعنی ابتدا ستونش رو به صورت unsigned تعریف کنید بعد relation رو ایجاد کنید


بله دقیقا از روی داک تعریف کردم کل استکاور فلو رو هم گشتم که نکته ای رو جا نینداخته باشم اینا جندتا آخرین حالتی بود که امتحان کردم و به عنوان مثال که تو پروژه من مشکل میخورن. مثلا قبلا اون مایگریشن آخر رو نداشتم توی خود ایجاد تیبل ها کلید خارجی رو گذاشته بودم یا یه حالت دیگه دوباره زیرش اسکما بیلد تیبل تعریف کرده بودم و اونجا کلید خارجی رو اختصاص دادم.
نگرانیم اینکه مشکلی مربوط به خود پروژه یا سیستم بنده باشه.


فایل‌های پیوست
.php   2014_10_12_000000_create_users_table.php (اندازه 1,010 بایت / تعداد دانلود: 4)
.php   2014_10_12_100000_create_password_resets_table.php (اندازه 672 بایت / تعداد دانلود: 1)
.php   2015_11_18_162556_createAdsInfoTable.php (اندازه 1.06 KB / تعداد دانلود: 0)
.php   2015_11_18_170008_createAdsTransaction.php (اندازه 962 بایت / تعداد دانلود: 1)
.php   2015_11_19_122012_addForeignkeys.php (اندازه 724 بایت / تعداد دانلود: 1)
پاسخ
 


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.