歸納整理laravel 8遷移文件知識(shí)點(diǎn)

本篇文章給大家?guī)?lái)了關(guān)于laravel的相關(guān)知識(shí),其中主要介紹了遷移文件的相關(guān)問(wèn)題,遷移文件其實(shí)就是相對(duì)數(shù)據(jù)庫(kù)的一個(gè)版本控制,讓我們?nèi)ツ軌蜉p松的定義和共享程序里面的一些數(shù)據(jù)結(jié)構(gòu),下面一起來(lái)看一下,希望對(duì)大家有幫助。

歸納整理laravel 8遷移文件知識(shí)點(diǎn)

【相關(guān)推薦:laravel

什么是遷移文件?

遷移文件其實(shí)就是相對(duì)數(shù)據(jù)庫(kù)的一個(gè)版本控制,讓我們?nèi)ツ軌蜉p松的定義和共享程序里面的一些數(shù)據(jù)結(jié)構(gòu),通常是配合到我們數(shù)據(jù)庫(kù)的一個(gè)結(jié)構(gòu),遷移可以輕松生成應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu)。如果我們有一個(gè)成員在本地的數(shù)據(jù)庫(kù)環(huán)境里面去添加到一個(gè)字段的時(shí)候,我們就可以通過(guò)遷移去給他進(jìn)行操作。
遷移分為兩種,一種是創(chuàng)建遷移,以及編寫還有一個(gè)執(zhí)行遷移文件。
歸納整理laravel 8遷移文件知識(shí)點(diǎn)
文件名開(kāi)頭的數(shù)字是時(shí)間
我們點(diǎn)開(kāi)看一下
歸納整理laravel 8遷移文件知識(shí)點(diǎn)
另外兩個(gè)文件也大同小異,這些都是laravel 8 框架默認(rèn)定義的一些表,如果我們?cè)谶@里執(zhí)行遷移文件的話,如果我們不需要用到這些表(user表、密碼表、jobs表),最好去刪除它,不然我們?cè)跀?shù)據(jù)庫(kù)里面可能會(huì)看到這三張表的存在?。?!

創(chuàng)建遷移文件

創(chuàng)建一個(gè) 書表book
id 主鍵
b_name 書名
b_pirce 書的價(jià)格
b_num 書數(shù)量

artisan 腳手架命令:名字我們照著默認(rèn)去編寫 create_表名_table

php artisan make:migration  create_book_table

創(chuàng)建之后文件名字前面會(huì)自帶時(shí)間

歸納整理laravel 8遷移文件知識(shí)點(diǎn)

increments(‘id’) 創(chuàng)建自增 id 的方法 comment(‘注釋’)添加注釋 string(‘字段名’ , ‘長(zhǎng)度’) 創(chuàng)建字段 類型是string integer(‘字段名’) 創(chuàng)建字段 類型是int decimal(‘字段名’ [,長(zhǎng)度,小數(shù)點(diǎn)后面幾位精確度]) 專門用來(lái)存放小數(shù)的類型,默認(rèn)8,2 $table->charset=‘utf8mb4’; 定義字符編碼

<?phpuse IlluminateDatabaseMigrationsMigration;use IlluminateDatabaseSchemaBlueprint;use IlluminateSupportFacadesSchema;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('書的價(jià)格');             $table->integer('b_num')->comment('書的數(shù)量');             $table->charset='utf8mb4';//定義字符編碼         });     }      /**      * Reverse the migrations.      *      * @return void      */     public function down()     {         Schema::dropIfExists('book');     }}

執(zhí)行遷移文件

用遷移文件之前我們還需要運(yùn)行一個(gè)命令,也就是記錄到我們每一次創(chuàng)建表的參數(shù)一張表,也就是migrations的表,方便以后我們創(chuàng)建表的時(shí)候去看到創(chuàng)建有哪些表是通過(guò)遷移文件創(chuàng)建的,我們需要記錄這樣一些東西。

php artisan migrate:install

我們?cè)趧?chuàng)建完這個(gè)表之后我們就可以在數(shù)據(jù)表里面看到我們遷移文件運(yùn)行的編號(hào),以及執(zhí)行過(guò)遷移文件的名字。

運(yùn)行完這個(gè)命令,數(shù)據(jù)庫(kù)多了一張表:
歸納整理laravel 8遷移文件知識(shí)點(diǎn)

我們運(yùn)行剛剛創(chuàng)建的文件名,看看是否有去記錄到

php artisan migrate

歸納整理laravel 8遷移文件知識(shí)點(diǎn)

我們?cè)偎⑿乱幌?,看看book表
歸納整理laravel 8遷移文件知識(shí)點(diǎn)
執(zhí)行單個(gè)遷移文件: –path=/database/migrations/文件名

>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php

回滾操作 / 刪除這張表

php artisan migrate:rollback

回滾之后表就不能存在了,記錄也沒(méi)了,也清除了。

注:我們?cè)趫?zhí)行遷移文件之后不要輕易去改遷移文件名字,否則回滾不回來(lái)了,找不到之前創(chuàng)建的遷移文件的名字。

回滾指定數(shù)量的遷移: –step=前幾個(gè)文件

php artisan migrate:rollback --step=5

【相關(guān)推薦:laravel

以上就是歸納整理

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享