你只需要點點鼠標,就可以創建各種數據庫,而且還是高可用的,你說氣人不氣人。

Sealos 數據庫支持豐富的數據庫管理系統 (DBMS),包括 MySQL、PostgreSQL、Redis、MongoDB,此外還支持消息隊列 (如 Kafka) 和向量數據庫等,滿足了用戶多種業務場景的需求。

除此之外,Sealos 數據庫還支持自動故障恢復、靈活的數據備份與恢復機制、數據遷移等等各種特性,這里我就不一一列舉了,感興趣的可以看 Sealos 官方文檔。

創建數據庫

首先,我們需要創建一個數據庫。瀏覽器進入 Sealos 桌面:https://hzh.sealos.run

然后打開【數據庫】App。

點擊【新建數據庫】按鈕,進入數據庫配置界面。在這里,你可以根據實際需求進行以下配置:

整個過程非常直觀,只需要按照界面提示一步步操作即可。

選擇好配置后,點擊【部署】按鈕,數據庫就會開始創建。等到數據庫狀態變為運行中以后,點擊左邊的小眼睛圖標,即可看到數據庫的連接信息。

點擊【連接】按鈕,進入數據庫的終端界面。

在終端界面輸入以下命令創建測試數據庫。

CREATE DATABASE testdb;

這時候,基本的數據庫配置就搞定啦。接下來開始創建開發環境。

創建 Devbox 開發環境

現在我們要創建一個 Devbox 開發環境,并通過本地的 IDE 連接到這個開發環境。

在 Sealos 桌面打開 Devbox 應用,新建一個項目,選擇 Go 語言作為運行環境,CPU 內存改成 1C2G 就夠了,不夠可以隨時再加。

點擊創建,幾秒鐘即可啟動開發環境。

接下來在操作選項中點擊 Cursor,將會自動打開本地的 Cursor 編程 IDE。

接著會提示安裝 Devbox 插件,安裝后即可自動連接開發環境。

是不是非常簡單?直接省略了配置域名解析、申請 SSL 證書,配置網關等與開發無關的繁瑣操作,爽!

初始化項目

現在我們需要初始化一個 Go 項目并安裝相關依賴。在 Cursor 的終端中執行以下命令:

go mod init go-db-demo
go mod tidy
go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

使用 GORM 連接 MySQL 數據庫

接下來我們會創建一個簡單的 demo 來使用 GORM 這個 Go 語言的 ORM 框架來連接 MySQL 數據庫。

整個項目的目錄結構如下:

├── main.go
├── config/
│ └── config.go
├── models/
│ └── user.go
├── database/
│ └── database.go
├── repository/
│ └── user_repository.go
└── go.mod

首先我們在 config 目錄下創建一個 config.go 文件,配置數據庫的連接信息,包括 MySQL 的用戶名、密碼、數據庫名稱、數據庫地址、數據庫端口等。

package config

import (
"fmt"
)

var (
DBUser = "root"
DBPassword = "9w7zjt8f"
DBName = "testdb"
DBHost = "test1-db-mysql.ns-kc811077.svc"
DBPort = "3306"
)

func GetDSN() string {
return fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
DBUser, DBPassword, DBHost, DBPort, DBName)
}

接下來在 database 目錄下創建 database.go 文件,用于初始化數據庫連接:

package database

import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
"go-db-demo/config"
"log"
)

var DB *gorm.DB

func Connect() {
dsn := config.GetDSN()
var err error
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
log.Fatalf("Failed to connect to database: %v", err)
}
log.Println("Database connected successfully!")
}

現在我們在 models 目錄下創建 user.go 文件,定義 User 模型:

package models

import "gorm.io/gorm"

type User struct {
gorm.Model
Name string json:"name" Email string json:"email" gorm:"unique" }

接下來我們需要實現一些基本的數據庫操作功能。我們將在 models 目錄下創建 user_operations.go 文件,用于定義用戶相關的增刪改查操作。

這些操作包括:

下面是具體的實現代碼:

package repository

import (
"go-db-demo/database"
"go-db-demo/models"
)

func CreateUser(user *models.User) error {
return database.DB.Create(user).Error
}

func GetUserByID(id uint) (*models.User, error) {
var user models.User
err := database.DB.First(&user, id).Error
return &user, err
}

func UpdateUser(user *models.User) error {
return database.DB.Save(user).Error
}

func DeleteUser(id uint) error {
return database.DB.Delete(&models.User{}, id).Error
}

現在讓我們在主程序中使用這些功能。在 main.go 文件中,我們將初始化數據庫連接,并執行一些基本的 CRUD 操作來測試我們的實現:

package main

import (
"fmt"
"go-db-demo/database"
"go-db-demo/models"
"go-db-demo/repository"
)

func main() {
// 連接數據庫
database.Connect()

// 自動遷移數據庫結構
database.DB.AutoMigrate(&models.User{})

// 創建用戶
newUser := &models.User{Name: "John Doe", Email: "john@example.com"}
if err := repository.CreateUser(newUser); err != nil {
fmt.Println("Error creating user:", err)
} else {
fmt.Println("User created:", newUser)
}

// 查詢用戶
user, err := repository.GetUserByID(newUser.ID)
if err != nil {
fmt.Println("Error fetching user:", err)
} else {
fmt.Printf("Fetched user: %#v\n", user)
}

// 更新用戶
user.Name = "John Updated"
if err := repository.UpdateUser(user); err != nil {
fmt.Println("Error updating user:", err)
} else {
fmt.Println("User updated:", user)
}

// 刪除用戶
if err := repository.DeleteUser(user.ID); err != nil {
fmt.Println("Error deleting user:", err)
} else {
fmt.Println("User deleted successfully")
}
}

現在我們已經完成了基本的 CRUD 操作代碼,我們來測試一下。

在 Cursor 的終端中執行以下命令:

go run main.go

現在你將看到程序對數據庫的一系列操作結果,包括:

輸出大致如下:

進一步完善

我們的 demo 還可以繼續完善和擴展,比如:

1. 添加數據驗證

我們可以在創建和更新用戶時添加數據驗證邏輯,比如:

2. 接口化

將數據庫操作封裝成 RESTful API:

你可以繼續使用 Cursor 的 AI 能力來實現這些功能,通過自然語言描述我們想要實現的功能,它就能幫我們生成相應的代碼。

比如,我們可以這樣描述:“幫我實現一個用戶數據的批量導入功能,包含事務處理和錯誤回滾機制。”

Cursor 就會根據我們的描述,生成相應的代碼實現。

總結

在傳統開發中,連接開發環境的數據庫就像是穿越千山萬水去約會 – 要配 IP、調防火墻、改配置。但在 Sealos 中,Cursor 和數據庫就像住在隔壁的青梅竹馬,想約就約,連個電話都不用打。這種開發體驗,不就是我們每個開發者心中的 “理想型” 嗎?

有了這對神仙搭檔,你就可以把更多精力放在實現產品創意上,而不是被繁瑣的環境配置耗盡耐心。

文章轉載自: 別人還在配數據庫環境,我用 Cursor 和 Devbox 一鍵搞定開發環境

熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
Cursor 的開源平替產品 Cline介紹
下一篇
使用 Goland 遠程開發基于 MCP 的智能對話助手
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
久久嫩草精品久久久久| 国产精品一区二区三区99| 激情成人综合网| 欧美一区二区三区白人| 欧美日韩国产乱码电影| 成人综合婷婷国产精品久久蜜臀 | 国产精品欧美一区喷水| 91麻豆精品在线观看| 久草中文综合在线| 夜夜嗨av一区二区三区四季av| 亚洲天堂网中文字| 欧美色窝79yyyycom| 日日欢夜夜爽一区| 欧美精品一区二区三区蜜桃| 成人爽a毛片一区二区免费| 中文字幕国产一区二区| 欧美怡红院视频| 麻豆精品在线播放| 中国色在线观看另类| 欧美自拍偷拍午夜视频| 久久激情综合网| 亚洲免费观看视频| 久久久亚洲国产美女国产盗摄| 91免费看视频| 国产呦精品一区二区三区网站| 国产精品久久久久一区二区三区共 | 日本韩国欧美三级| 日韩精品电影在线| 亚洲色图20p| 欧美国产日产图区| 精品剧情在线观看| 91精品免费在线观看| 91视视频在线观看入口直接观看www | 狠狠色狠狠色合久久伊人| 国产精品毛片高清在线完整版 | 国产精品影视在线观看| 夜夜揉揉日日人人青青一国产精品| 欧美日韩一区二区三区免费看| 国产在线精品一区二区三区不卡| 一区二区三区久久| 久久久影视传媒| 欧美一区二区免费| 欧美一区二区三区播放老司机| 在线观看中文字幕不卡| 99国产精品久| 94-欧美-setu| 91视视频在线观看入口直接观看www | 秋霞国产午夜精品免费视频| 玉米视频成人免费看| 国产精品三级视频| 中文字幕高清不卡| 亚洲女人的天堂| 一区二区久久久久久| 亚洲人成网站色在线观看| 亚洲特黄一级片| 亚洲综合自拍偷拍| 亚洲成人资源网| 男人的天堂久久精品| 九九**精品视频免费播放| 久久疯狂做爰流白浆xx| 国产成人精品综合在线观看| 福利一区二区在线观看| 成人国产电影网| 欧美日韩日本视频| 欧美变态tickling挠脚心| 美女一区二区在线观看| 亚洲一区二区三区视频在线播放| 国产喂奶挤奶一区二区三区| www久久久久| 日韩免费一区二区| 欧美日韩你懂得| 欧美二区在线观看| 91婷婷韩国欧美一区二区| 国产91对白在线观看九色| 韩国精品主播一区二区在线观看 | 欧美日韩亚洲综合| 欧美日本在线播放| 精品乱人伦小说| 亚洲品质自拍视频网站| 日产国产高清一区二区三区| 国产原创一区二区| 色哟哟亚洲精品| 精品少妇一区二区三区视频免付费| 久久久精品免费网站| 亚洲一区国产视频| 国产成人午夜精品5599| 欧美影院午夜播放| 中文字幕制服丝袜一区二区三区 | 日韩丝袜美女视频| 中文字幕精品一区二区三区精品| 亚洲一线二线三线久久久| 精品亚洲porn| 91精品国产乱码| 亚洲综合无码一区二区| av不卡免费电影| 久久久午夜电影| 日本美女一区二区| 欧美性受xxxx黑人xyx| 国产精品麻豆欧美日韩ww| 久久国产欧美日韩精品| 欧美三级电影一区| 一区二区成人在线观看| 国产成人精品午夜视频免费| 欧美日本一区二区三区四区| 亚洲精品美腿丝袜| 91在线视频18| 一区二区三区中文字幕在线观看| 99久久久精品| 亚洲免费观看高清在线观看| caoporen国产精品视频| 日韩毛片一二三区| 色综合咪咪久久| 亚洲福利一二三区| 日韩视频国产视频| 黄网站免费久久| 国产片一区二区三区| 国产九九视频一区二区三区| 久久久国产午夜精品 | 激情六月婷婷综合| 久久先锋资源网| 豆国产96在线|亚洲| 国产精品萝li| 欧美日韩在线亚洲一区蜜芽| 日韩高清中文字幕一区| 精品欧美一区二区三区精品久久 | 日韩欧美色电影| 国产成人午夜视频| 亚洲欧美激情插| 91精选在线观看| 国产一区久久久| 国产丝袜美腿一区二区三区| 成人精品高清在线| 亚洲在线观看免费| 国产夜色精品一区二区av| 91老师国产黑色丝袜在线| 日本中文字幕一区| 国产精品污www在线观看| 欧洲av在线精品| 久久国产视频网| 一区二区三区中文字幕在线观看| 日韩亚洲欧美综合| 91亚洲大成网污www| 青娱乐精品视频在线| 亚洲欧洲一区二区在线播放| 欧美一区二区三区在线电影 | 国产成人免费网站| 图片区小说区国产精品视频| 国产午夜精品久久久久久免费视| 91久久精品一区二区| 国产电影精品久久禁18| 三级一区在线视频先锋| 最新不卡av在线| 精品人在线二区三区| 欧美精品久久99| 欧美视频一二三区| 99久久精品国产一区| 美女视频一区二区| 天堂久久一区二区三区| 亚洲丝袜自拍清纯另类| 久久嫩草精品久久久久| 日韩情涩欧美日韩视频| 91天堂素人约啪| 粉嫩aⅴ一区二区三区四区五区| 日韩成人一级大片| 亚洲r级在线视频| 亚洲一区影音先锋| 一区二区不卡在线播放| 亚洲欧美福利一区二区| 国产日本欧洲亚洲| 国产日韩亚洲欧美综合| 久久久777精品电影网影网 | 欧美不卡一区二区三区| 日韩一区二区三区高清免费看看| 欧美三级韩国三级日本三斤| 91极品美女在线| 欧洲另类一二三四区| 欧美三级日韩在线| 欧美精品久久久久久久多人混战| 91精品国产入口在线| 欧美mv日韩mv亚洲| 色婷婷av一区二区三区大白胸 | 2024国产精品| 日本最新不卡在线| 亚洲欧洲综合另类| 欧美午夜一区二区| 欧美日韩国产大片| 日韩一二三区不卡| 精品欧美一区二区在线观看| www成人在线观看| 国产精品情趣视频| 亚洲精品老司机| 日韩经典一区二区| 国产成人a级片| 日本久久精品电影| 欧美调教femdomvk| 久久久久久麻豆| 亚洲人成电影网站色mp4| 午夜欧美在线一二页| 国产传媒久久文化传媒| 欧美怡红院视频|