中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

migrate如何在Laravel中使用

發布時間:2021-03-30 16:14:42 來源:億速云 閱讀:246 作者:Leah 欄目:開發技術

這篇文章給大家介紹migrate如何在Laravel中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

生成遷移

命令:

Migration

php artisan make:migration create_users_table

意思:創建一個遷移,其實就是創建一張名為users的表。

接著你便能在database/migrations這個目錄下找到與2014_10_12_000000_create_users_table.php這個類似的文件。
和以前用php語句創建表一樣,我們可以在2014_10_12_000000_create_users_table.php這個文件中寫上我們要創建表的字段及約束條件。

–table和–create選項可以用于指定表名以及該遷移是否要創建一個新的數據表。這些選項只需要簡單放在上述遷移命令后面并指定表名,如果你想要指定生成遷移的自定義輸出路徑,在執行make:migration命令時可以使用–path選項,提供的路徑應該是相對于應用根目錄的。

遷移結構

一個migration類包含兩個方法up和down。

up中主要包含創建表的具體內容。

down中和前者相反。

Schema::create接受兩個參數。第一個是你要創建表的表名;第二個是一個閉包(匿名函數),獲取用于定義新表的 Blueprint 對象。

Migration

<?php
 
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
 
class CreateUsersTable extends Migration
{
 /**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
  Schema::create('users', function (Blueprint $table) {
   $table->increments('id');
   $table->string('name');
   $table->string('email')->unique();
   $table->string('password');
   $table->rememberToken();
   $table->timestamps();
  });
 }
 
 /**
  * Reverse the migrations.
  *
  * @return void
  */
 public function down()
 {
  Schema::dropIfExists('users');
 }
}

運行遷移

要運行應用中所有未執行的遷移,可以使用 Artisan 命令的migrate方法。

Migration

php artisan migrate

回滾遷移

想要回滾最新的一次遷移”操作“,可以使用rollback命令,注意這將會回滾最后一批運行的遷移,可能包含多個遷移文件:

Migration

php artisan migrate:rollback

migrate:reset命令將會回滾所有的應用遷移:

Migration

php artisan migrate:reset

在單個命令中回滾/遷移

migrate:refresh命令將會先回滾所有數據庫遷移,然后運行migrate命令。這個命令可以有效的重建整個數據庫:

Migration

php artisan migrate:refresh
php artisan migrate:refresh --seed

常用遷移屬性

$table->increments(‘id');數據庫主鍵自增 ID
$table->integer(‘votes');等同于數據庫中的 INTEGER 類型
$table->float(‘amount');等同于數據庫中的 FLOAT 類型
$table->char(‘name', 4);等同于數據庫中的 CHAR 類型
$table->dateTime(‘created_at');等同于數據庫中的 DATETIME 類型
$table->enum(‘choices', [‘foo','bar']);等同于數據庫中的 ENUM 類型
$table->tinyInteger(‘numbers');等同于數據庫中的 TINYINT 類型
$table->timestamps();添加 created_at 和 updated_at 列

一些列名約束條件的寫法

Migration

Schema::table('users', function ($table) {
 $table->integer('votes')->unsigned(); //無符號類型
});

常用約束

->first()將該列置為表中第一個列 (僅適用于 MySQL)
->after(‘column')將該列置于另一個列之后 (僅適用于 MySQL)
->nullable()允許該列的值為 NULL
->default($value)指定列的默認值
->unsigned()設置 integer 列為 UNSIGNED

關于migrate如何在Laravel中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙口市| 凤翔县| 邵武市| 股票| 邛崃市| 象州县| 蒙城县| 亳州市| 宣威市| 四平市| 湖北省| 巴中市| 奎屯市| 赤城县| 泗阳县| 衡阳市| 綦江县| 雅江县| 宜都市| 博白县| 通山县| 城口县| 五华县| 内乡县| 邹平县| 农安县| 东乡| 得荣县| 福清市| 顺平县| 镇康县| 南召县| 彰化市| 铜陵市| 遂宁市| 桓仁| 安仁县| 江川县| 图木舒克市| 措美县| 昔阳县|