php 值转移,迁移与数据填充 - Migrations Seeding
遷移與數據填充
介紹
遷移是一種數據庫的版本控制。可以讓團隊在修改數據庫結構的同時,保持彼此的進度一致。遷移通常會和 結構生成器 一起使用,可以簡單的管理數據庫結構。
建立遷移文件
使用 Artisan CLI 的 make:migrate 命令建立遷移文件:
php artisan make:migration create_users_table
遷移文件會建立在 database/migrations 目錄下,文件名會包含時間戳記,在執行遷移時用來決定順序。
你也可以在建立遷移命令加上 --path 參數。路徑要相對于應用程序所在的根目錄。
php artisan make:migration foo --path=app/migrations
--table 和 --create 參數可以用來指定數據表名稱,以及遷移文件是否要建立新的數據表。
php artisan make:migration add_votes_to_users_table --table=users
php artisan make:migration create_users_table --create=users
執行遷移
執行所有未執行的遷移
php artisan migrate
注意: 如果在執行遷移時發生「class not found」錯誤,試著先執行composer dump-autoload 命令后再進行一次。
在線上環境 (Production) 中強制執行遷移
有些遷移操作是具有破壞性的,意味著可能讓你遺失原本保存的數據。為了防止你在上線環境執行到這些遷移命令,你會被提示要在執行遷移前進行確認。加上--force 參數執行強制遷移:
php artisan migrate --force
回滾遷移
回滾上一次的遷移
php artisan migrate:rollback
回滾所有遷移
php artisan migrate:reset
回滾所有遷移并且再執行一次
php artisan migrate:refresh
php artisan migrate:refresh --seed
數據填充
Laravel 可以簡單的使用 seed 類,填充測試數據到數據庫。所有的 seed 類放在database/seeds 目錄下。可以使用任何你想要的類名稱,但是應該遵守某些大小寫規范,如UserTableSeeder 之類。默認已經有一個DatabaseSeeder 類。在這個類里,使用call 方法執行其他的 seed 類,讓你控制填充的順序。
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(array('email' => 'foo@bar.com'));
}
}
要執行數據填充,可以使用 Artisan CLI 的db:seed 命令:
php artisan db:seed
默認db:seed 命令會執行DatabaseSeeder,可以使用它來調用其他 seed 類,不過,也可以使用--class 參數指定要單獨執行的類:
php artisan db:seed --class=UserTableSeeder
你也可以使用migrate:refresh 命令填充數據,它會回滾并且再次執行所有遷移:
php artisan migrate:refresh --seed
總結
以上是生活随笔為你收集整理的php 值转移,迁移与数据填充 - Migrations Seeding的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想要转行做软件测试,要两万学费,怕学后又
- 下一篇: SCI期刊投稿额外材料准备