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
|
||
|
}
|