first-commit
This commit is contained in:
24
models/migrations/devstar_v1_0/dv1.go
Normal file
24
models/migrations/devstar_v1_0/dv1.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package devstar_v1_0
|
||||
|
||||
// 构建 DevStar Studio v1.0 所需数据库类型
|
||||
// 从 Gitea v300 到 dv1
|
||||
|
||||
import (
|
||||
wechat_models "code.gitea.io/gitea/models/wechat"
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
// AddDBWeChatUser 创建微信公众号二维码登录所需要的数据库字段
|
||||
func AddDBWeChatUser(x *xorm.Engine) error {
|
||||
|
||||
// 创建数据库表格
|
||||
err := x.Sync(new(wechat_models.UserWechatOpenid))
|
||||
if err != nil {
|
||||
return ErrMigrateDevstarDatabase{
|
||||
Step: "create table 'user_wechat_openid'",
|
||||
Message: err.Error(),
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
44
models/migrations/devstar_v1_0/dv2.go
Normal file
44
models/migrations/devstar_v1_0/dv2.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package devstar_v1_0
|
||||
|
||||
// 构建 DevStar Studio v1.0 所需数据库类型
|
||||
// 从 dv2 到 dv3
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
appstore_model "code.gitea.io/gitea/models/appstore"
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
// ErrMigrateDevstarDatabase represents an error during DevStar database migration
|
||||
type ErrMigrateDevstarDatabase struct {
|
||||
Step string
|
||||
Message string
|
||||
}
|
||||
|
||||
func (e ErrMigrateDevstarDatabase) Error() string {
|
||||
return fmt.Sprintf("DevStar database migration failed at step '%s': %s", e.Step, e.Message)
|
||||
}
|
||||
|
||||
// InitializeAppStoreDbTables 初始化应用商店相关数据库表
|
||||
func InitializeAppStoreDbTables(x *xorm.Engine) error {
|
||||
// 初始化应用商店表
|
||||
if err := addDBAppStore(x); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// addDBAppStore 初始化应用商店表
|
||||
func addDBAppStore(x *xorm.Engine) error {
|
||||
err := x.Sync(new(appstore_model.AppStore))
|
||||
if err != nil {
|
||||
return ErrMigrateDevstarDatabase{
|
||||
Step: "create table 'app_store'",
|
||||
Message: err.Error(),
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
19
models/migrations/devstar_v1_0/dv3.go
Normal file
19
models/migrations/devstar_v1_0/dv3.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package devstar_v1_0
|
||||
|
||||
import (
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
// AddDeploymentTypeToAppStore adds deployment_type column to app_store and creates index
|
||||
func AddDeploymentTypeToAppStore(x *xorm.Engine) error {
|
||||
// add column if not exists (most DBs will ignore existing)
|
||||
_, err := x.Exec("ALTER TABLE app_store ADD COLUMN deployment_type VARCHAR(20) NOT NULL DEFAULT 'docker'")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = x.Exec("CREATE INDEX idx_app_store_deployment_type ON app_store(deployment_type)")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user