如何使用 SQLite 建立最簡單的 Laravel 開發環境?
有很多方式可以建立 Laravel 開發環境,如 MAMP、Homestead,但事實上我最近最常使用的是 PHP 內建 HTTP server 與 SQLite,這是最簡單,也是最省電的開發環境。
Version
Laravel 5.2.29
PhpStorm 2016.1
建立 Laravel 專案
1 | oomusou@mac:~$ composer create-project laravel/laravel Laravel52SQLite_demo --prefer-dist |
建立 SQLite 資料庫
1 | oomusou@mac:~/MyProject$ cd database oomusou@mac:~/MyProject/database$ touch database.sqlite |
在 database
目錄下,建立空的 database.sqlite
資料庫。
修改 .env
.env1 1GitHub Commit : 修改 .env1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:Hv/GYT3Mz3PFWgj4cDnhGhHnkByhuNKUT9NKbGRIfu4=
APP_URL=http://localhost
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
#DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
第 6 行1
DB_CONNECTION=sqlite
將資料庫連線改成 sqlite
。
第 9 行1
#DB_DATABASE=homestead
將 DB_DATABASE
前面加加上 #
,將這行註解掉。
執行 Migration
1 | oomusou@mac:~/MyProject$ php artisan migrate |
若能成功 migration,表示 Laravel 已經抓到 SQLite,並將資料順利 migrate 進 database.sqlite
。
使用 PhpStorm 管理 SQLite
很多人猶豫該用什麼 GUI 工具管理 SQLite,其實 PhpStorm 已經內建 SQLite 管理工具。
按下右側的 Database
,再按下上方的 +
,選擇 Data Source form Path
。
選擇剛剛建立的 database.sqlite
。
選擇 Sqlite (Xerial)
。
若 PhpStorm 還沒安裝過 SQLite driver,會顯示 Download missing files
。1 1SQLite driver 只要安裝一次即可,以後其他專案都不需再安裝。
按 Download
下載 SQLite driver。
按 Test Connection
測試 SQLite 連線。
連線成功。
PhpStorm 的 Database 可以順利顯示預設的 users
table。
使用 PHP 內建的 HTTP Server
1 | oomusou@mac:~/MyProject$ php artisan serve |
執行 PHP 內建的 Http server。
成功執行 Laravel 在 http://localhost:8000/
Conclusion
- PhpStorm 內建支援 SQLite,要管理 SQLite 不用再找其他 GUI 管理工具。
- 使用 SQLite +
php artisan serve
方式,不需安裝 MAMP 或 Homestead,只要有安裝 PHP 即可開發 Laravel。
Sample Code
完整的範例可以在我的 GitHub 上找到。