您好,登錄后才能下訂單哦!
今天小編給大家分享一下laravel 8遷移文件知識點有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
遷移文件其實就是相對數據庫的一個版本控制,讓我們去能夠輕松的定義和共享程序里面的一些數據結構,通常是配合到我們數據庫的一個結構,遷移可以輕松生成應用程序的數據結構。如果我們有一個成員在本地的數據庫環境里面去添加到一個字段的時候,我們就可以通過遷移去給他進行操作。
遷移分為兩種,一種是創建遷移,以及編寫還有一個執行遷移文件。文件名開頭的數字是時間
我們點開看一下
另外兩個文件也大同小異,這些都是laravel 8 框架默認定義的一些表,如果我們在這里執行遷移文件的話,如果我們不需要用到這些表(user表、密碼表、jobs表),最好
去刪除它,不然我們在數據庫里面可能會看到這三張表的存在!!!
創建一個 書表book
id 主鍵
b_name 書名
b_pirce 書的價格
b_num 書數量
artisan 腳手架命令:名字我們照著默認去編寫 create_表名_table
php artisan make:migration create_book_table
創建之后文件名字前面會自帶時間
increments(‘id’) 創建自增 id 的方法
comment(‘注釋’)添加注釋
string(‘字段名’ , ‘長度’) 創建字段 類型是string
integer(‘字段名’) 創建字段 類型是int
decimal(‘字段名’ [,長度,小數點后面幾位精確度]) 專門用來存放小數的類型,默認8,2
$table->charset=‘utf8mb4’; 定義字符編碼
<?phpuse Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreateBookTable extends Migration{ /** * Run the migrations. * * @return void */ public function up() { Schema::create('book', function (Blueprint $table) { $table->increments('id')->comment('主鍵'); $table->string('b_name','32')->comment('書名'); $table->decimal('b_price')->comment('書的價格'); $table->integer('b_num')->comment('書的數量'); $table->charset='utf8mb4';//定義字符編碼 }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('book'); }}
用遷移文件之前我們還需要運行一個命令,也就是記錄到我們每一次創建表的參數一張表,也就是migrations的表,方便以后我們創建表的時候去看到創建有哪些表是通過遷移文件創建的,我們需要記錄這樣一些東西。
php artisan migrate:install
我們在創建完這個表之后我們就可以在數據表里面看到我們遷移文件運行的編號,以及執行過遷移文件的名字。
運行完這個命令,數據庫多了一張表:
我們運行剛剛創建的文件名,看看是否有去記錄到
php artisan migrate
我們再刷新一下,看看book表
執行單個遷移文件: --path=/database/migrations/文件名
>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php
php artisan migrate:rollback
回滾之后表就不能存在了,記錄也沒了,也清除了。
注
:我們在執行遷移文件之后不要輕易去改遷移文件名字,否則回滾不回來了,找不到之前創建的遷移文件的名字。
回滾指定數量的遷移: --step=前幾個文件
php artisan migrate:rollback --step=5
以上就是“laravel 8遷移文件知識點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。