偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Facebook 開(kāi)源 Golang 實(shí)體框架 Ent 現(xiàn)已支持 TiDB

企業(yè)動(dòng)態(tài)
近日,F(xiàn)acebook 開(kāi)源的 Golang 實(shí)體框架 Ent 完成了對(duì) TiDB 數(shù)據(jù)庫(kù)的支持。

對(duì)于后端開(kāi)發(fā)者來(lái)說(shuō),一款好用的框架能夠大大提升應(yīng)用的開(kāi)發(fā)效率。為了降低開(kāi)發(fā)者使用 TiDB 的門(mén)檻,方便開(kāi)發(fā)者快速連接到 TiDB,PingCAP也在和合作伙伴一起,逐步完善面向主流開(kāi)發(fā)語(yǔ)言和框架的連接支持。近日,F(xiàn)acebook 開(kāi)源的 Golang 實(shí)體框架 Ent 完成了對(duì) TiDB 數(shù)據(jù)庫(kù)的支持。

Ent 是一款易于構(gòu)建和維護(hù)應(yīng)用程序與大數(shù)據(jù)模型的框架。具有以下特點(diǎn):

Schema 即代碼:能將任何數(shù)據(jù)庫(kù)表建模為 Go 對(duì)象;

輕松地遍歷任何圖形 :可以輕松地運(yùn)行查詢(xún)、聚合和遍歷任何圖形結(jié)構(gòu);

靜態(tài)類(lèi)型和顯式 API:使用代碼生成靜態(tài)類(lèi)型和顯式 API,查詢(xún)數(shù)據(jù)更加便捷;

多存儲(chǔ)驅(qū)動(dòng)程序:支持 MySQL、PostgreSQL、SQLite、Gremlin,現(xiàn)在也已經(jīng)支持了 TiDB;

可擴(kuò)展:易于擴(kuò)展和使用 Go 模板自定義。

下面通過(guò)一個(gè) Hello World 的應(yīng)用示例,來(lái)看下如何快速實(shí)現(xiàn)一個(gè)基于 Ent + TiDB 的應(yīng)用。

Hello World 應(yīng)用示例

用 Docker 在本地啟動(dòng)一個(gè) TiDB Server

現(xiàn)在應(yīng)該有一個(gè)運(yùn)行的 TiDB 實(shí)例,開(kāi)放了 4000 端口監(jiān)聽(tīng)。

1、在本地拷貝 hello world 的示例 repo

在這個(gè)示例 repo 中定義了一個(gè)簡(jiǎn)單的 User schema

然后,連接 Ent 和 TiDB:

可以看到,在第一行通過(guò)一個(gè) MySQL 語(yǔ)句去連接 TiDB Server,因?yàn)?TiDB 是兼容 MySQL 的,所以不需要其他特殊的 driver。

話(huà)雖如此,TiDB 和 MySQL 還是有很多不同,尤其是與 Schema 遷移相關(guān)的操作,比如 SQL 診斷和遷移規(guī)劃。所以,Atlas 可以自動(dòng)監(jiān)測(cè)出是連接到 TiDB,做相應(yīng)的遷移處理。

此外,第七行使用 schema.WithAtlas(true),表示 Ent 是使用“Atlas”作為遷移引擎。Atlas 是 Ent 剛剛發(fā)布的遷移引擎,得益于 Atlas 的最新設(shè)計(jì),對(duì)新數(shù)據(jù)庫(kù)的支持也變得前所未有的簡(jiǎn)單。

最后,新建一條 user 數(shù)據(jù),并保存到 TiDB 中,以用于后需的數(shù)據(jù)讀取和輸出。

1、運(yùn)行這個(gè)示例程序:

在這次快速演練中,成功實(shí)現(xiàn)了:

啟動(dòng)一個(gè)本地的 TiDB 實(shí)例;

連接 Ent 和 TiDB 數(shù)據(jù)庫(kù);

使用 Atlas 遷移 Ent Schema;

使用 Ent 從 TiDB 中插入和讀取數(shù)據(jù);

版本說(shuō)明

目前,這個(gè)示例應(yīng)用在 Ent v0.10 和 TiDB v5.4.0 中可以正常運(yùn)行,Ent 也計(jì)劃在未來(lái)繼續(xù)拓展對(duì) TiDB 的支持。如果用戶(hù)使用其他版本的 TiDB 或者需要幫助,歡迎加入 asktug.com 來(lái)交流。如果也有項(xiàng)目希望與 TiDB 適配,歡迎來(lái) GitHub 提交 issue。

除了 Ent,TiDB 此前已經(jīng)添加了對(duì) GORM 和 go-sql-driver/mysql 的支持,詳情可查看文檔:https://docs.pingcap.com/appdev/dev

責(zé)任編輯:趙立京 來(lái)源: 51CTO
相關(guān)推薦

2019-01-25 19:19:28

數(shù)據(jù)工具互聯(lián)網(wǎng)

2016-10-13 09:20:21

FacebookWindows 10osquery

2020-09-24 10:54:10

谷歌Flutter開(kāi)發(fā)

2018-06-14 14:45:51

MySQLOracle文檔存儲(chǔ)

2017-02-28 19:27:22

Facebook開(kāi)源Prophet

2012-06-04 13:25:34

Facebook開(kāi)源

2020-10-27 18:45:45

GolangGraphQ開(kāi)發(fā)

2019-05-07 09:31:41

TiDBMySQL數(shù)據(jù)

2025-01-07 08:45:56

EntFacebookGo

2018-10-22 09:23:00

FacebookAI框架人工智能

2019-10-10 10:03:09

開(kāi)源技術(shù) 開(kāi)發(fā)

2013-08-21 12:29:12

Facebook開(kāi)源

2021-11-02 15:49:46

低代碼編程Power Fx微軟

2021-12-16 10:07:00

Windows 11微軟Windows 365

2022-01-11 21:19:31

數(shù)字人民幣微信支付寶

2023-10-22 20:20:37

FiberGo

2016-03-08 10:40:05

谷歌ios蘋(píng)果

2014-02-26 09:44:59

Facebook開(kāi)源工具Fbthrift

2024-11-01 20:25:28

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)