diff --git a/server/cmd/datas/AuthorityMenu.go b/server/cmd/datas/AuthorityMenu.go index b7892331f2945c336a212da7ea4fae17250dea04..dd6afe46650f379061068fc31d0e03b194017840 100644 --- a/server/cmd/datas/AuthorityMenu.go +++ b/server/cmd/datas/AuthorityMenu.go @@ -1,7 +1,13 @@ package datas -import "gorm.io/gorm" +import ( + "github.com/gookit/color" + "gorm.io/gorm" +) func InitAuthorityMenu(db *gorm.DB) (err error) { - return db.Exec("CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `authority_menu` AS select `sys_base_menus`.`id` AS `id`,`sys_base_menus`.`created_at` AS `created_at`, `sys_base_menus`.`updated_at` AS `updated_at`, `sys_base_menus`.`deleted_at` AS `deleted_at`, `sys_base_menus`.`menu_level` AS `menu_level`,`sys_base_menus`.`parent_id` AS `parent_id`,`sys_base_menus`.`path` AS `path`,`sys_base_menus`.`name` AS `name`,`sys_base_menus`.`hidden` AS `hidden`,`sys_base_menus`.`component` AS `component`, `sys_base_menus`.`title` AS `title`,`sys_base_menus`.`icon` AS `icon`,`sys_base_menus`.`sort` AS `sort`,`sys_authority_menus`.`sys_authority_authority_id` AS `authority_id`,`sys_authority_menus`.`sys_base_menu_id` AS `menu_id`,`sys_base_menus`.`keep_alive` AS `keep_alive`,`sys_base_menus`.`default_menu` AS `default_menu` from (`sys_authority_menus` join `sys_base_menus` on ((`sys_authority_menus`.`sys_base_menu_id` = `sys_base_menus`.`id`)))").Error + if err := db.Exec("CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `authority_menu` AS select `sys_base_menus`.`id` AS `id`,`sys_base_menus`.`created_at` AS `created_at`, `sys_base_menus`.`updated_at` AS `updated_at`, `sys_base_menus`.`deleted_at` AS `deleted_at`, `sys_base_menus`.`menu_level` AS `menu_level`,`sys_base_menus`.`parent_id` AS `parent_id`,`sys_base_menus`.`path` AS `path`,`sys_base_menus`.`name` AS `name`,`sys_base_menus`.`hidden` AS `hidden`,`sys_base_menus`.`component` AS `component`, `sys_base_menus`.`title` AS `title`,`sys_base_menus`.`icon` AS `icon`,`sys_base_menus`.`sort` AS `sort`,`sys_authority_menus`.`sys_authority_authority_id` AS `authority_id`,`sys_authority_menus`.`sys_base_menu_id` AS `menu_id`,`sys_base_menus`.`keep_alive` AS `keep_alive`,`sys_base_menus`.`default_menu` AS `default_menu` from (`sys_authority_menus` join `sys_base_menus` on ((`sys_authority_menus`.`sys_base_menu_id` = `sys_base_menus`.`id`)))").Error; err != nil { + color.Danger.Println("authority_menu视图已存在!") + } + return nil } diff --git a/server/cmd/datas/apis.go b/server/cmd/datas/apis.go index 48cf0fb2d38dc222a15855ca6bc28573235b0d8b..bafa7af8de796d940a981ee8f301256d43a47e13 100644 --- a/server/cmd/datas/apis.go +++ b/server/cmd/datas/apis.go @@ -2,6 +2,7 @@ package datas import ( "gin-vue-admin/model" + "github.com/gookit/color" "time" "gorm.io/gorm" @@ -78,6 +79,10 @@ var Apis = []model.SysApi{ func InitSysApi(db *gorm.DB) (err error) { return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 67}).Find(&[]model.SysApi{}).RowsAffected == 2 { + color.Danger.Println("sys_apis表的初始数据已存在!") + return nil + } if tx.Create(&Apis).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/authorities.go b/server/cmd/datas/authorities.go index 5aecfe071a3b479976007a27288c7f351128e2e6..56f0b2b5099a421a19a2ead17463c0168511e065 100644 --- a/server/cmd/datas/authorities.go +++ b/server/cmd/datas/authorities.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -15,6 +16,10 @@ var Authorities = []model.SysAuthority{ func InitSysAuthority(db *gorm.DB) (err error) { return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("authority_id IN ? ", []string{"888", "9528"}).Find(&[]model.SysAuthority{}).RowsAffected == 2 { + color.Danger.Println("sys_authorities表的初始数据已存在!") + return nil + } if tx.Create(&Authorities).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/authority_Ids.go b/server/cmd/datas/authority_Ids.go index a05aeb6156c7fdf963edb3a4a87531fd6ee588ba..e303051ea6f893d446a2c0900dab73c678f1246e 100644 --- a/server/cmd/datas/authority_Ids.go +++ b/server/cmd/datas/authority_Ids.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "gorm.io/gorm" ) @@ -19,6 +20,10 @@ var DataAuthorityId = []SysDataAuthorityId{ func InitSysDataAuthorityId(db *gorm.DB) (err error) { return db.Table("sys_data_authority_id").Transaction(func(tx *gorm.DB) error { + if tx.Where("sys_authority_authority_id IN ?", []string{"888", "9528"}).Find(&[]SysDataAuthorityId{}).RowsAffected == 5 { + color.Danger.Println("sys_data_authority_id表的初始数据已存在!") + return nil + } if tx.Create(&DataAuthorityId).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/authority_menus.go b/server/cmd/datas/authority_menus.go index 8f076c9628250bfa8e68f2ce73513621385a478e..8052f470d4ee37e5426dd5843d6bfa1bf957103e 100644 --- a/server/cmd/datas/authority_menus.go +++ b/server/cmd/datas/authority_menus.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "gorm.io/gorm" ) @@ -67,6 +68,10 @@ var AuthorityMenus = []SysAuthorityMenus{ func InitSysAuthorityMenus(db *gorm.DB) (err error) { return db.Table("sys_authority_menus").Transaction(func(tx *gorm.DB) error { + if tx.Where("sys_authority_authority_id IN ?", []string{"888", "8881", "9528"}).Find(&[]SysAuthorityMenus{}).RowsAffected == 53 { + color.Danger.Println("sys_authority_menus表的初始数据已存在!") + return nil + } if tx.Create(&AuthorityMenus).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/casbins.go b/server/cmd/datas/casbins.go index 166693f5782564efd7377272fe8897fa7c995aeb..a4110ae35bec22a564648f2218d38a3c16ffbd03 100644 --- a/server/cmd/datas/casbins.go +++ b/server/cmd/datas/casbins.go @@ -2,6 +2,7 @@ package datas import ( gormadapter "github.com/casbin/gorm-adapter/v3" + "github.com/gookit/color" "gorm.io/gorm" ) @@ -157,6 +158,10 @@ func InitCasbinModel(db *gorm.DB) (err error) { return err } } + if tx.Where("p_type = ? AND v0 IN ?", "p", []string{"888", "8881", "9528"}).Find(&[]gormadapter.CasbinRule{}).RowsAffected == 142 { + color.Danger.Println("casbin_rule表的初始数据已存在!") + return nil + } if tx.Create(&Carbines).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/customers.go b/server/cmd/datas/customers.go index e432d38079293f1396ae6a9fa5fff5e76ab97a27..1900babe6ebdb405b527c39fbfcc31bc3e6ba6c9 100644 --- a/server/cmd/datas/customers.go +++ b/server/cmd/datas/customers.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -13,6 +14,10 @@ var Customers = []model.ExaCustomer{ func InitExaCustomer(db *gorm.DB) (err error) { return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ? ", []int{1}).Find(&[]model.ExaCustomer{}).RowsAffected == 1 { + color.Danger.Println("exa_customers表的初始数据已存在!") + return nil + } if tx.Create(&Customers).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/dictionaries.go b/server/cmd/datas/dictionaries.go index 4230abb6eecfca07b58950e0aa38f55a2f1ed8fa..e3e880be09771ffa43e39b0a9fff0a35c6eb5ce9 100644 --- a/server/cmd/datas/dictionaries.go +++ b/server/cmd/datas/dictionaries.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -9,10 +10,10 @@ import ( type SysDictionaryToPostgresql struct { gorm.Model - Name string `json:"name" form:"name" gorm:"column:name;comment:字典名(中)"` - Type string `json:"type" form:"type" gorm:"column:type;comment:字典名(英)"` - Status *bool `json:"status" form:"status" gorm:"column:status;comment:状态"` - Description string `json:"description" form:"description" gorm:"column:description;comment:'描述'"` + Name string `json:"name" form:"name" gorm:"column:name;comment:字典名(中)"` + Type string `json:"type" form:"type" gorm:"column:type;comment:字典名(英)"` + Status *bool `json:"status" form:"status" gorm:"column:status;comment:状态"` + Description string `json:"description" form:"description" gorm:"column:description;comment:'描述'"` SysDictionaryDetails []model.SysDictionaryDetail `json:"sysDictionaryDetails" form:"sysDictionaryDetails"` } @@ -28,6 +29,10 @@ func InitSysDictionary(db *gorm.DB) (err error) { {Model: gorm.Model{ID: 6, CreatedAt: time.Now(), UpdatedAt: time.Now()}, Name: "数据库bool类型", Type: "bool", Status: status, Desc: "数据库bool类型"}, } return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 6}).Find(&[]model.SysDictionary{}).RowsAffected == 2 { + color.Danger.Println("sys_dictionaries表的初始数据已存在!") + return nil + } if tx.Create(&Dictionaries).Error != nil { // 遇到错误时回滚事务 return err } @@ -38,8 +43,7 @@ func InitSysDictionary(db *gorm.DB) (err error) { func InitSysDictionaryToPostgresql(db *gorm.DB) (err error) { status := new(bool) *status = true - tx := db.Begin() // 开始事务 - insert := []SysDictionaryToPostgresql{ + Dictionaries := []SysDictionaryToPostgresql{ {Model: gorm.Model{ID: 1, CreatedAt: time.Now(), UpdatedAt: time.Now()}, Name: "性别", Type: "sex", Status: status, Description: "性别字典"}, {Model: gorm.Model{ID: 2, CreatedAt: time.Now(), UpdatedAt: time.Now()}, Name: "数据库int类型", Type: "int", Status: status, Description: "int类型对应的数据库类型"}, {Model: gorm.Model{ID: 3, CreatedAt: time.Now(), UpdatedAt: time.Now()}, Name: "数据库时间日期类型", Type: "time.Time", Status: status, Description: "数据库时间日期类型"}, @@ -47,8 +51,14 @@ func InitSysDictionaryToPostgresql(db *gorm.DB) (err error) { {Model: gorm.Model{ID: 5, CreatedAt: time.Now(), UpdatedAt: time.Now()}, Name: "数据库字符串", Type: "string", Status: status, Description: "数据库字符串"}, {Model: gorm.Model{ID: 6, CreatedAt: time.Now(), UpdatedAt: time.Now()}, Name: "数据库bool类型", Type: "bool", Status: status, Description: "数据库bool类型"}, } - if tx.Create(&insert).Error != nil { // 遇到错误时回滚事务 - tx.Rollback() - } - return tx.Commit().Error + return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 6}).Find(&[]model.SysDictionary{}).RowsAffected == 2 { + color.Danger.Println("sys_dictionaries表的初始数据已存在!") + return nil + } + if tx.Create(&Dictionaries).Error != nil { // 遇到错误时回滚事务 + return err + } + return nil + }) } diff --git a/server/cmd/datas/dictionary_details.go b/server/cmd/datas/dictionary_details.go index 3a7b97bb951d608b264a635a22db5eca5103beb4..a06d6c58e0d833570d4b55184b65f29f6e3ebada 100644 --- a/server/cmd/datas/dictionary_details.go +++ b/server/cmd/datas/dictionary_details.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -36,6 +37,10 @@ func InitSysDictionaryDetail(db *gorm.DB) (err error) { {gorm.Model{ID: 23, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "tinyint", 0, status, 0, 6}, } return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 23}).Find(&[]model.SysDictionaryDetail{}).RowsAffected == 2 { + color.Danger.Println("sys_dictionary_details表的初始数据已存在!") + return nil + } if tx.Create(&DictionaryDetail).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/files.go b/server/cmd/datas/files.go index 73d14b79c2a859af1accc15bde4a1514084a872c..82b7709edbf1cf60f4307d65d56aa912b24e9f56 100644 --- a/server/cmd/datas/files.go +++ b/server/cmd/datas/files.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -14,6 +15,10 @@ var Files = []model.ExaFileUploadAndDownload{ func InitExaFileUploadAndDownload(db *gorm.DB) (err error) { return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 2}).Find(&[]model.ExaFileUploadAndDownload{}).RowsAffected == 2 { + color.Danger.Println("exa_file_upload_and_downloads表的初始数据已存在!") + return nil + } if tx.Create(&Files).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/menus.go b/server/cmd/datas/menus.go index 8a63369a51b08c54bdde32429a0471e53beb0785..b93ee2b098594666b772c5c13d62d48704e0df22 100644 --- a/server/cmd/datas/menus.go +++ b/server/cmd/datas/menus.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -39,6 +40,10 @@ var BaseMenus = []model.SysBaseMenu{ func InitSysBaseMenus(db *gorm.DB) (err error) { return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 27}).Find(&[]model.SysBaseMenu{}).RowsAffected == 2 { + color.Danger.Println("sys_base_menus表的初始数据已存在!") + return nil + } if tx.Create(&BaseMenus).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/datas/users.go b/server/cmd/datas/users.go index 5759a29f8b91b25d6707a30307b09e7bdbc91d81..5711e6cf320e476f50322e6eebf4c07ea30521c9 100644 --- a/server/cmd/datas/users.go +++ b/server/cmd/datas/users.go @@ -1,6 +1,7 @@ package datas import ( + "github.com/gookit/color" "time" "gin-vue-admin/model" @@ -15,6 +16,10 @@ var Users = []model.SysUser{ func InitSysUser(db *gorm.DB) (err error) { return db.Transaction(func(tx *gorm.DB) error { + if tx.Where("id IN ?", []int{1, 2}).Find(&[]model.SysUser{}).RowsAffected == 2 { + color.Danger.Println("sys_users表的初始数据已存在!") + return nil + } if tx.Create(&Users).Error != nil { // 遇到错误时回滚事务 return err } diff --git a/server/cmd/gva/version.go b/server/cmd/gva/version.go index 4b5555da80be6aabd20d89403aabfc4899b48499..d19a7cc092ee7f7ef6b6317a12c8070ac0764350 100644 --- a/server/cmd/gva/version.go +++ b/server/cmd/gva/version.go @@ -27,7 +27,7 @@ var versionCmd = &cobra.Command{ Short: "版本信息", Long: `版本的长信息`, Run: func(cmd *cobra.Command, args []string) { - color.Green.Println("v0.0.2") + color.Green.Println("v0.0.3") }, }