मेरी वेबसाइट स्थानीय रूप से ठीक काम करती है, लेकिन जब मैं इसे उसकेोकू में अपलोड करता हूं और उपयोगकर्ता बनाने की कोशिश करता हूं तो मुझे मिलता है

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key 
constraint fails (`heroku_58d91081036dbb1`.`users`, CONSTRAINT `users_role_id_foreign` FOREIGN KEY 
(`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE) (SQL: insert into `users` (`name`, `email`, 
`password`, `updated_at`, `created_at`) values (Dominykas, d@s.com, 
$2y$10$yZb.rSEmsLQCkd.5HStt1.9DH6jiBQbyiixlessIVjSKCGErx9E1K, 2019-12-02 13:00:02, 2019-12-02 13:00:02))

जैसा कि मुझे पता चला, माइग्रेशन में मेरे डिफ़ॉल्ट मान काम नहीं करते हैं

$table->unsignedBigInteger('role_id')->default(2);
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');

क्योंकि जब मैं नए उपयोगकर्ता को सीड करता हूं और role_id प्रदान करता हूं, तो मुझे यह त्रुटि नहीं मिलती है, लेकिन अगर मैं इसे डिफ़ॉल्ट मान के लिए छोड़ देता हूं, तो इसे एक त्रुटि मिलती है

मुझे इसे कैसे ठीक करना चाहिए, शायद मुझे किसी अन्य होस्टिंग प्रदाता को आजमाना चाहिए?

0
Lizard Derad 2 पद 2019, 16:09

1 उत्तर

सबसे बढ़िया उत्तर

ठीक है, इसलिए यदि आपकी वेबसाइट स्थानीय रूप से ठीक काम करती है, लेकिन जब इसे तैनात किया जाता है तो यह डेटाबेस से संबंधित त्रुटियां देता है जैसे Integrity constraint violation यह शायद इसलिए है क्योंकि आप भूल गए हैं कि हरोकू तालिका को 10 से बढ़ा देता है, उदाहरण के लिए आईडी इस तरह दिखाई देगी: 1, 11, 21, 31

मेरे मामले में मैंने डिफ़ॉल्ट मान 2 पर सेट किया है जो अन्य तालिका की विदेशी आईडी है, ठीक है, उसकेोकू में अब यह 11 है

0
Lizard Derad 5 पद 2019, 00:13