iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0

昨天看了我們怎麼跑migrate建立表單:Laravel-資料的大遷徙Migration-Day05
今天來看一些補充的操作:新增欄位、刪除表單等等。

新增或刪除欄位

在laravel裡面想要新增欄位,就要再多跑一次migrate

新來新增一張要用的表單:artisan make:migration career_users_add_column

創建了新的檔案 2023_08_32_120136_areer_users_add_column.php
在想要的表頭後面使用helper:after $table->boolean('share_email')->after('email')
意指:我想要在email欄位後面再加一個share_email欄位

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('career_users', function (Blueprint $table) {
            $table->boolean('share_email')->after('email');
        });
    }
};

刪除欄位用: $table->dropColumn('comment_count');
再跑一次:php artisan migrate --path=database/migrations/檔案名稱.php
就可以看到欄位被新增啦。

101種刪除表單方法

要是我們想要刪除表單呢?

1.使用phpmyadmin

我們可以用phpmyadmin來控制我們的表單:包括新增、刪除資料,
刪除表單可以使用'drop'功能
使用laradock就可以建立我們的phpadmin container了,明天會提到phpmyadmin~

https://ithelp.ithome.com.tw/upload/images/20230828/20140247IAlRviQumE.png

2. 跑migrate: rollback

我們也可以直接在workspace container跑指令刪除表單
php artisan migrate:rollback
rollback指令會跑我們放在migrations資料夾裡面檔案的down的涵式:

public function down(): void
    {
        Schema::dropIfExists('career_users');
    }

3.進去mysql container刪除表單

我們也可以進去mysql container操作表單:

laradock % docker-compose exec mysql bash
bash-4.4# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.

填入mysql commands: DROP TABLE personal_access_tokens

mysql> SHOW TABLES;
+------------------------+
| Tables_in_career_expo  |
+------------------------+
| career_users           |
| failed_jobs            |
| migrations             |
| password_reset_tokens  |
| personal_access_tokens |
+------------------------+
5 rows in set (0.00 sec)

mysql> DROP TABLE `personal_access_tokens`;
Query OK, 0 rows affected (0.02 sec)

mysql> SHOW TABLES;
+-----------------------+
| Tables_in_career_expo |
+-----------------------+
| career_users          |
| failed_jobs           |
| migrations            |
| password_reset_tokens |
+-----------------------+
4 rows in set (0.00 sec)

以上!

明天用phpmyadmin來新增資料!


上一篇
Laravel-資料的大遷徙Migration-Day05
下一篇
Laravel: 用phpadmin新增資料-Day07
系列文
前輩說Laravel不難,好啊那就1人前後端試試看啊31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言