看到「Dolt is Git for Data!」這個專案,是個在本機上跑的 MySQL server,另外可以在上面的資料進行版本控制,看起來很適合本機開發測試。
首先抓下來可以看到沒幾個檔案 (這是 linux-amd64 版),也可以看到跟 Git 的關係:
$ tree . ├── bin │ ├── dolt │ ├── git-dolt │ └── git-dolt-smudge └── LICENSES
然後用 bin/dolt sql-server -P 3307 -u root -p passw0rd
跑就可以把一個相容於 MySQL 的伺服器跑在 port 3307,然後用 mysql -h 127.0.0.1 --port 3307 -u root -p
就可以輸入密碼 passw0rd
登入進去:
$ mysql -h 127.0.0.1 --port 3307 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.7.9-Vitess
可以從 Server version
看到專案是用了 Vitess 實做的 MySQL 界面。
另外測了一下,透過連線所做的變更 (像是 CREATE DATABASE 與 CREATE TABLE,以及 CRUD 中的 CUD) 是不會寫回磁碟裡的,嘗試了不同的設定,不管改什麼都是這樣,應該是故意設計成這樣。
在本機跑 test case 測試應該還不錯,會比 SQLite 的 :memory:
更接近 MySQL 一些,不過在 CI 裡的話應該是可以直接把 MySQL 跑起來...