Bunu aynı geçiş (ler) ile birkaç kez yapmanız gerekiyorsa, bahsedilenlerden başka bir alternatif. Şahsen bunun göçlerinize çok fazla esneklik kattığını düşünüyorum.
Otomatik database/migrations
yükleme nesnenize şu şekilde ekleyin composer.json
:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories",
"database/support",
"database/migrations" // add this line
]
},
Ardından namespace Database\Migrations;
tüm taşıma dosyalarınıza ekleyin .
Ardından dosyanızı $ composer dump-autoload
yenilemek için çalıştırın composer.lock
.
Ardından, taşıma için sınıf adınızın olduğu varsayılırsa AlterTableWebDirectories
, aşağıdaki gibi bir komut oluşturabilirsiniz:
$ php artisan make:command DropAlterTableWebDirectories
Ve bu mantığı handle()
yönteminize yazın:
public function handle {
(new AlterTableWebDirectories)->down();
DB::raw("delete from migrations where migration like '%alter_table_web_directories%'");
}
Bu tam olarak ne istediğinizi yapacak. Taşıma sayısını silmek yerine azaltmak istiyorsanız, büyük olasılıklaDB:raw
komutu .
Bu komut, komuta argüman ileterek hangi taşımayı bıraktığınızı dinamik olarak seçmenize izin vermek için genişletilebilir.
Sonra bu dosyayı tekrar taşımak için okurken, php artisan migrate
ve taşıyacaktır.
Bu işlem, her seferinde tam bir yenileme ve tohumlama yapmak zorunda kalmadan taşıma işlemlerinde belirli değişiklikler yapmanızı sağlar.
Şahsen bunu çok yapmam gerekiyor çünkü tohumlarım oldukça büyük.