Laravel5.5 數據庫遷移:創建表與修改表


數據庫遷移是數據庫的版本管理,要使用數據庫遷移,需要在.env文件中連接好數據庫(不多說)。laravel本身已經存在user表和password_resets表的遷移了,因此,執行

php artisan migrate

便會在數據庫中創建好user表、password_resets表和migrations表。migrations表是版本記錄表。

命令執行的其實是 database\migration 下的遷移文件。遷移文件中調用的方法會替我們執行數據庫操作(建表)。每個文件的命名對應遷移創建的時間和遷移的表名稱。

現在我們要添加自己的遷移表。

創建遷移

方法一:創建數據模型的時候加上 -m ,例如:

php artisan make:model Models/Moment -m

就會在 database/migrations 下看到新建的遷移文件。打開文件,主要有 up 和 down 方法。

  • 當我們運行遷移時,up 方法會被調用;
  • 當我們回滾遷移時,down 方法會被調用。

方法二:

php artisan make:migration create_moments_table

其中 “moments” 就是要創建的表名,這里要寫你自己的表名。 

創建表

在up方法中,我們編寫創建表的語句:

 1 Schema::create('moments', function (Blueprint $table) {
 2  
 3     $table->increments('id');
 4  
 5     $table->integer('user_id');
 6  
 7     $table->string('title');
 8     
 9     $table->string('content');
10  
11     $table->timestamps();
12  
13 });

保存后執行 php artisan migrate ,會創建5個字段的moments表。

修改表

方法一:修改遷移文件,執行命令

php artisan migrate:refresh

方法二:如果要修改表,新建一個遷移文件:

php artisan make:migration alter_moments_table

 其中 “moments” 就是要修改的表名,這里要寫你自己的表名。

在 up 方法中:

1 Schema::table('moments', function (Blueprint $table) { 
2     $table->string('test'); 
3 });

與創建表的區別是,create 方法改成 table 方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM