W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
遷移是一種數(shù)據(jù)庫的版本控制??梢宰寛F隊在修改數(shù)據(jù)庫結(jié)構(gòu)的同時,保持彼此的進度一致。遷移通常會和 結(jié)構(gòu)生成器 一起使用,可以簡單的管理數(shù)據(jù)庫結(jié)構(gòu)。
使用 Artisan CLI 的 make:migrate
命令建立遷移文件:
php artisan make:migration create_users_table
遷移文件會建立在 database/migrations
目錄下,文件名會包含時間戳記,在執(zhí)行遷移時用來決定順序。
--table
和 --create
參數(shù)可以用來指定數(shù)據(jù)表名稱,以及遷移文件是否要建立新的數(shù)據(jù)表。
php artisan make:migration add_votes_to_users_table --table=users php artisan make:migration create_users_table --create=users
php artisan migrate
注意: 如果在執(zhí)行遷移時發(fā)生「class not found」錯誤,試著先執(zhí)行
composer dump-autoload
命令后再進行一次。
有些遷移操作是具有破壞性的,意味著可能讓你遺失原本保存的數(shù)據(jù)。為了防止你在上線環(huán)境執(zhí)行到這些遷移命令,你會被提示要在執(zhí)行遷移前進行確認。加上 --force
參數(shù)執(zhí)行強制遷移:
php artisan migrate --force
php artisan migrate:rollback
php artisan migrate:reset
php artisan migrate:refresh php artisan migrate:refresh --seed
Laravel 可以簡單的使用 seed 類,填充測試數(shù)據(jù)到數(shù)據(jù)庫。所有的 seed 類放在 database/seeds
目錄下。可以使用任何你想要的類名稱,但是應(yīng)該遵守某些大小寫規(guī)范,如 UserTableSeeder
之類。默認已經(jīng)有一個 DatabaseSeeder
類。在這個類里,使用 call
方法執(zhí)行其他的 seed 類,讓你控制填充的順序。
class DatabaseSeeder extends Seeder { public function run() { $this->call('UserTableSeeder'); $this->command->info('User table seeded!'); }}class UserTableSeeder extends Seeder { public function run() { DB::table('users')->delete(); User::create(['email' => 'foo@bar.com']); }}
要執(zhí)行數(shù)據(jù)填充,可以使用 Artisan CLI 的 db:seed
命令:
php artisan db:seed
默認 db:seed
命令會執(zhí)行 DatabaseSeeder
,可以使用它來調(diào)用其他 seed 類,不過,也可以使用 --class
參數(shù)指定要單獨執(zhí)行的類:
php artisan db:seed --class=UserTableSeeder
你也可以使用 migrate:refresh
命令填充數(shù)據(jù),它會回滾并且再次執(zhí)行所有遷移:
php artisan migrate:refresh --seed
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: