/ / yii2 माइग्रेशन त्रुटि को पुन: व्यवस्थित करने के लिए माइग्रेशन फ़ाइल का नाम बदलना - php, yii, माइग्रेशन, yii2

yii2 माइग्रेशन त्रुटि को पुन: व्यवस्थित करने के लिए माइग्रेशन फ़ाइल का नामकरण - php, yii, माइग्रेशन, yii2

मैं माइग्रेशन फ़ाइलों को पुनर्निर्देशित करने के लिए माइग्रेशन फ़ाइलों का नाम बदलने की कोशिश कर रहा हूं, लेकिन मुझे एक त्रुटि मिली।

मुझे पता है कि माइग्रेशन फ़ाइल का नाम टाइमस्टैम्प के आधार पर उत्पन्न होता है, उदाहरण:

m150311_012031_create_place_table.php
m150311_020901_create_meeting_table.php

मैं भूल गया कि मुझे बनाना चाहिए meeting बनाने से पहले टेबल पहले place टेबल, तो मैं क्या चलाता हूं yii migrate/down all पहले माइग्रेशन को रोलबैक करने के लिए, मैं इसे पुन: व्यवस्थित करने के लिए फ़ाइल का नाम बदलता हूं:

m150311_012030_create_meeting_table.php
m150311_012031_create_place_table.php

और भाग खड़ा हुआ yii migrate up/all लेकिन मुझे यह त्रुटि मिली:

PHP Fatal error:  Class "m150311_012030_create_meeting_table" not found in C:wampwwwyii2advancedvendoryiisoftyii2consolecontrollersMigrateController.php on line 113

मुझे लगता है composer dumpautoload इसे ठीक कर देगा, लेकिन कुछ भी नहीं होता है। मुझे पता है कि मैं फिर से शुरू करने से सभी माइग्रेशन को हटा और बना सकता हूं, लेकिन अगर मैंने पहले ही 10 माइग्रेशन फाइलें बनाई हैं, और मैं भूल गया कि मुझे दूसरे ऑर्डर पर माइग्रेशन बनाना चाहिए था।

यह कैसे करना है?

उत्तर:

जवाब के लिए 5 № 1

यह करने की अनुशंसा नहीं की जाती है सिवाय इसके कि आपने अभी तक काम करने के लिए अपने काम को धक्का नहीं दिया है।

समस्या यह है कि फ़ाइल नाम बदलने के अलावा आपको कक्षा नामों को बदलने की भी आवश्यकता है, क्योंकि माइग्रेशन व्यवस्थित किए जाने के कारण।

माइग्रेशन क्लास नाम बिल्कुल फ़ाइल नामों के समान ही हैं .php विस्तार।

1) m150311_012031_create_place_table.php

फ़ाइल का नाम बदलें m150311_020901_create_meeting_table.php और कक्षा का नाम class m150311_020901_create_meeting_table.

2) m150311_020901_create_meeting_table.php

फ़ाइल का नाम बदलें m150311_012031_create_place_table.php और कक्षा का नाम class m150311_012031_create_place_table.