iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
自我挑戰組

從0開始-30天摸索laravel系列 第 15

DAY15: database配置

  • 分享至 

  • xImage
  •  

Laravel的資料庫設定是放在config/database.php中,設定檔中可以設定所有資料庫連線設定,其中包含MySQL、Postgres、SQLite、SQL Server都有。

抓一段設定檔來看

'mysql' => [
    'read' => [
        'host' => '192.168.1.1',
    ],
    'write' => [
        'host' => '196.168.1.2'
    ],
    'sticky'    => true,
    'driver'    => 'mysql',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => '',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix'    => '',
],

這裡有一個小細節,就是可以看到設定檔中有分read跟write的位置不同,這是我覺得laravel很酷的部分,如果有一天你的系統需要做讀寫分離的資料庫設計,只要像這樣就可以使用,真的太神奇了啦!!!!!!!!!!(當然也不是這樣設置就OK了啦~還是有些DB的部分需要自己去協調囉)

備註:
讀寫分離以這設定檔來說,select 時會使用 read , 而執行 delete, update, insert 時則會使用 write。

如果要使用原生的sql,可以試看看在controller中這樣玩(爬文看到的資料,我自己是沒測試過,況且資料庫都還沒建立咧~先看看就好了!)

    public function index()
    {
        $users = DB::select('select * from users where active = ?', [1]);

        return view('user.index', ['users' => $users]);
    }

但這部分還不急,因為laravel還有許多地方要先跑過一次,以我現在的安排,之後可能要先玩看看資料庫的版本控制、可以快速新增刪除假資料…等,這些都玩了之後才有機會開始碰DB。

所以流程上會是
資料庫設定檔->建立資料庫版本控制->快速新增刪除假資料的神奇玩具->DB

這部分在我第一次看的時候,其實很不了解為什麼,我不是就要下SQL嗎?為什麼要看那麼多東西,是等自己大略的先看完一次之後,才理解了這流程的意思,所以特別先註記一下。

建立資料庫版本控制 : 可以減少工程師手動下SQL的機會
快速新增刪除假資料的神奇玩具 : 可以迅速做出你所需要的測試資料


上一篇
DAY14: blade 該結束了吧!
下一篇
DAY16: 遷移
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言