ทางเลือกอื่นสำหรับสิ่งที่กล่าวถึงหากคุณต้องการทำสิ่งนี้หลายครั้งด้วยการโยกย้ายเดียวกัน โดยส่วนตัวแล้วฉันคิดว่านี่เป็นการเพิ่มความยืดหยุ่นให้กับการย้ายข้อมูลของคุณ
เพิ่มdatabase/migrations
ไปยังวัตถุ autoload ของคุณในcomposer.json
แบบนี้:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories",
"database/support",
"database/migrations" // add this line
]
},
จากนั้นเพิ่มnamespace Database\Migrations;
ไฟล์การโยกย้ายทั้งหมดของคุณ
จากนั้นเรียกใช้$ composer dump-autoload
เพื่อรีเฟรชcomposer.lock
ไฟล์ของคุณ
จากนั้นสมมติว่าชื่อคลาสของคุณสำหรับการย้ายข้อมูลคือAlterTableWebDirectories
คุณสามารถสร้างคำสั่งดังนี้:
$ php artisan make:command DropAlterTableWebDirectories
และเขียนตรรกะนี้ในhandle()
วิธีการของคุณ:
public function handle {
(new AlterTableWebDirectories)->down();
DB::raw("delete from migrations where migration like '%alter_table_web_directories%'");
}
สิ่งนี้จะทำสิ่งที่คุณต้องการ หากคุณต้องการลดจำนวนการย้ายข้อมูลแทนการลบคุณอาจจะรู้วิธีการเปลี่ยนDB:raw
คำสั่ง
คำสั่งนี้สามารถขยายเพื่อให้คุณเลือกการย้ายข้อมูลที่คุณทิ้งโดยการส่งอาร์กิวเมนต์ไปยังคำสั่ง
จากนั้นเมื่อคุณกำลังอ่านเพื่อโยกย้ายไฟล์นั้นอีกครั้งคุณสามารถเรียกใช้ได้php artisan migrate
และไฟล์จะทำการโอนย้ายไฟล์นั้นเท่านั้น
กระบวนการนี้ช่วยให้คุณสามารถทำการเปลี่ยนแปลงเฉพาะกับการย้ายข้อมูลโดยไม่ต้องทำการรีเฟรชเต็มรูปแบบและเริ่มต้นแต่ละครั้ง
โดยส่วนตัวฉันต้องทำอย่างนั้นเพราะเมล็ดของฉันค่อนข้างใหญ่