dolt table import –update-table

或者通过SQL语句:

dolt sql –query INSERT INTO COVID19 VALUES (“Country”, 1000,1)

Rows inserted: 1

dolt sql –query UPDATE COVID19 SET population=82750 where country =”China”

Rows updated: 1

更新后,查询状态就可以,看到有更改信息,显示类似于Git:

Changes not staged for commit:

(use “dolt add

” to update what will be committed)

(use “dolt checkout

” to discard changes in working directory)

modified: COVID19

dolt diff

Dolt——Golang开发的“Git即数据库”实践插图11

如果信息更新Ok,则可以添加到版本历史

dolt add state_populations

dolt commit -m “Added My State”

分支工作流程

进行更改时,建议创建一个新分支,该分支将用作更改的工作空间。选择一个简短的分支名称,该名称描述计划要做的工作。同样,这与Git相同:

dolt checkout -b

进行更改后,像以前一样添加并提交修改后的表。工作完成后,就可以将所有更改恢复回master分支运行中了:

dolt checkout master

dolt merge

然后,需要添加并提交合并的数据:

dolt commit -m “Merge work from into master”

添加远程库

Dolt以与Git类似的方式支持远程仓。Dolt也提供在线平台DoltHub,本文中,我们以DoltHub为例来添加远程仓:

dolt login

Dolt——Golang开发的“Git即数据库”实践插图13

通过浏览器窗口,打开DoltHub,创建账号,并创建HTTPS凭据。

Dolt——Golang开发的“Git即数据库”实践插图15

创建成功后,会显示如下信息:

Key successfully associated with user: XXX

接下来,要确保在DoltHub创建了远程仓。例如,如果存储库是在名为org的组织下创建的,名称为repo,则可以这样添加远程库:

dolt remote add origin org/repo

添加后,使用以下命令查看具体信息:

dolt remote -v

应该显示如下内容:

origin dolt remoteapi.dolthub/org/repo

如果已经在网络上创建了存储库并添加了一个远程服务器,则应该能够将分支master推送到名为 rigin的远程服务器上,如下所示

dolt push origin master

一旦成功,其他人便可以克隆存储库(假设已授予他们权限)。

dolt clone org/repo

所有操作和Git操作Github也类似

有用的DoltHub数据集

DoltHub仓库提供了有用的数据库可供我们使用,比如:

Dolt——Golang开发的“Git即数据库”实践插图17

新冠疫情数据库 dolthub/repositories/Liquidata/corona-virus

word-net: dolthub/repositories/Liquidata/word-net

Dolt——Golang开发的“Git即数据库”实践插图19

ImageNet:dolthub/repositories/Liquidata/image-net

Dolt——Golang开发的“Git即数据库”实践插图21

Google Open Images:dolthub /repositories/Liquidata/open-images

国家/地区的IP地址:dolthub/repositories/Liquidata/ip-to-country

除了DoltHub dolt还支持其他形式的仓库存储形式,比如基于目录,aws和gcs的远程仓库:

文件:可以将目录用作远程目录,就像为其他远程目录一样,可以通过提供目录uri来clone,push和pull。dolt远程添加文件:

///Users/xyz/abs/path/

aws 可以直接使用aws云对象存储。

远程添加 aws://dynamo-table:s3-bucket/database

还可以使用GCS存储桶。创建一个gcs存储桶,使用gcloud auth login命令来设置的凭据。

远程添加 gs://gcs-bucket/database