45 lines
989 B
Go
45 lines
989 B
Go
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
|
|
}
|