api_migrate.template 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. package version
  2. import (
  3. "gorm.io/gorm"
  4. "runtime"
  5. "time"
  6. "IotAdmin/core/sdk/pkg"
  7. "IotAdmin/migration"
  8. common "IotAdmin/common/models"
  9. )
  10. type Menu struct {
  11. MenuId int `json:"menuId" gorm:"primaryKey;autoIncrement"`
  12. MenuName string `json:"menuName" gorm:"size:128;"`
  13. Title string `json:"title" gorm:"size:128;"`
  14. Icon string `json:"icon" gorm:"size:128;"`
  15. //Path string `json:"path" gorm:"size:128;"`
  16. Paths string `json:"paths" gorm:"size:128;"`
  17. MenuType string `json:"menuType" gorm:"size:1;"`
  18. Action string `json:"action" gorm:"size:16;"`
  19. Permission string `json:"permission" gorm:"size:255;"`
  20. ParentId int `json:"parentId" gorm:"size:11;"`
  21. //Breadcrumb string `json:"breadcrumb" gorm:"size:255;"`
  22. Component string `json:"component" gorm:"size:255;"`
  23. BtnClass string `json:"btnClass" gorm:"size:128;"`
  24. BtnScript string `json:"btnScript" gorm:"size:128;"`
  25. Sort int `json:"sort" gorm:"size:4;"`
  26. NoCache bool `json:"noCache" gorm:"size:8;"`
  27. IsHide bool `json:"isHide" gorm:"size:1;"`
  28. IsFrame bool `json:"isFrame" gorm:"size:1;"`
  29. CreateBy string `json:"createBy" gorm:"size:128;"`
  30. UpdateBy string `json:"updateBy" gorm:"size:128;"`
  31. CreatedAt time.Time `json:"createdAt"`
  32. UpdatedAt time.Time `json:"updatedAt"`
  33. DeletedAt *time.Time `json:"deletedAt"`
  34. }
  35. func (Menu) TableName() string {
  36. return "sys_menu"
  37. }
  38. func init() {
  39. _, fileName, _, _ := runtime.Caller(0)
  40. migration.Migrate.SetVersion(migration.GetFilename(fileName), _{{.GenerateTime}}Test)
  41. }
  42. func _{{.GenerateTime}}Test(db *gorm.DB, version string) error {
  43. return db.Transaction(func(tx *gorm.DB) error {
  44. timeNow := pkg.GetCurrentTime()
  45. Mmenu := Menu{}
  46. Mmenu.MenuName = "{{.TBName}}Manage"
  47. Mmenu.Title = "{{.TableComment}}"
  48. Mmenu.Icon = "list-task"
  49. //Mmenu.Path = "/{{.TBName}}"
  50. Mmenu.MenuType = "M"
  51. Mmenu.Action = "无"
  52. Mmenu.ParentId = 0
  53. Mmenu.NoCache = false
  54. Mmenu.Component = "Layout"
  55. Mmenu.Sort = 0
  56. Mmenu.IsHide = false
  57. Mmenu.IsFrame = false
  58. Mmenu.CreateBy = "1"
  59. Mmenu.UpdateBy = "1"
  60. Mmenu.CreatedAt = timeNow
  61. Mmenu.UpdatedAt = timeNow
  62. // Mmenu.MenuId, err = Mmenu.Create(db)
  63. err := tx.Create(&Mmenu).Error
  64. if err != nil {
  65. return err
  66. }
  67. Cmenu := Menu{}
  68. Cmenu.MenuName = "{{.TBName}}"
  69. Cmenu.Title = "{{.TableComment}}"
  70. Cmenu.Icon = "pass"
  71. //Cmenu.Path = "{{.TBName}}"
  72. Cmenu.MenuType = "C"
  73. Cmenu.Action = "无"
  74. Cmenu.Permission = "{{.PackageName}}:{{.BusinessName}}"
  75. Cmenu.ParentId = Mmenu.MenuId
  76. Cmenu.NoCache = false
  77. Cmenu.Component = "{{.PackageName}}/{{.BusinessName}}/index"
  78. Cmenu.Sort = 0
  79. Cmenu.BtnClass= ""
  80. Cmenu.BtnScript= ""
  81. CMmenu.IsHide = false
  82. CMmenu.IsFrame = false
  83. Cmenu.CreateBy = "1"
  84. Cmenu.UpdateBy = "1"
  85. Cmenu.CreatedAt = timeNow
  86. Cmenu.UpdatedAt = timeNow
  87. // Cmenu.MenuId, err = Cmenu.Create(db)
  88. err = tx.Create(&Cmenu).Error
  89. if err != nil {
  90. return err
  91. }
  92. MList := Menu{}
  93. MList.MenuName = "{{.BusinessName}}Query"
  94. MList.Title = "分页获取{{.TableComment}}"
  95. MList.Icon = "eye"
  96. //MList.Path = "{{.TBName}}"
  97. MList.MenuType = "F"
  98. MList.Action = "无"
  99. MList.Permission = "{{.PackageName}}:{{.BusinessName}}:query"
  100. MList.ParentId = Cmenu.MenuId
  101. MList.NoCache = false
  102. MList.Sort = 0
  103. MList.BtnClass= ""
  104. MList.BtnScript= ""
  105. MList.IsHide = true
  106. MList.IsFrame = false
  107. MList.CreateBy = "1"
  108. MList.UpdateBy = "1"
  109. MList.CreatedAt = timeNow
  110. MList.UpdatedAt = timeNow
  111. // MList.MenuId, err = MList.Create(db)
  112. err = tx.Create(&MList).Error
  113. if err != nil {
  114. return err
  115. }
  116. MCreate := Menu{}
  117. MCreate.MenuName = "{{.BusinessName}}Add"
  118. MCreate.Title = "创建{{.TableComment}}"
  119. MCreate.Icon = "plus-square"
  120. //MCreate.Path = "{{.TBName}}"
  121. MCreate.MenuType = "F"
  122. MCreate.Action = "无"
  123. MCreate.Permission = "{{.PackageName}}:{{.BusinessName}}:add"
  124. MCreate.ParentId = Cmenu.MenuId
  125. MCreate.NoCache = false
  126. MCreate.Sort = 0
  127. MCreate.BtnClass= "btn btn-light-primary"
  128. MCreate.BtnScript= "handleCreate"
  129. MCreate.IsHide = false
  130. MCreate.IsFrame = false
  131. MCreate.CreateBy = "1"
  132. MCreate.UpdateBy = "1"
  133. MCreate.CreatedAt = timeNow
  134. MCreate.UpdatedAt = timeNow
  135. // MCreate.MenuId, err = MCreate.Create(db)
  136. err = tx.Create(&MCreate).Error
  137. if err != nil {
  138. return err
  139. }
  140. MUpdate := Menu{}
  141. MUpdate.MenuName = "{{.BusinessName}}Update"
  142. MUpdate.Title = "修改{{.TableComment}}"
  143. MUpdate.Icon = "pencil-square"
  144. //MUpdate.Path = "{{.TBName}}"
  145. MUpdate.MenuType = "F"
  146. MUpdate.Action = "无"
  147. MUpdate.Permission ="{{.PackageName}}:{{.BusinessName}}:edit"
  148. MUpdate.ParentId = Cmenu.MenuId
  149. MUpdate.NoCache = false
  150. MUpdate.Sort = 0
  151. MUpdate.BtnClass= "btn btn-light-success"
  152. MUpdate.BtnScript= "handleUpdate@1"
  153. MUpdate.IsHide = false
  154. MUpdate.IsFrame = false
  155. MUpdate.CreateBy = "1"
  156. MUpdate.UpdateBy = "1"
  157. MUpdate.CreatedAt = timeNow
  158. MUpdate.UpdatedAt = timeNow
  159. // MUpdate.MenuId, err = MUpdate.Create(db)
  160. err = tx.Create(&MUpdate).Error
  161. if err != nil {
  162. return err
  163. }
  164. MDelete := Menu{}
  165. MDelete.MenuName = "{{.BusinessName}}Remove"
  166. MDelete.Title = "删除{{.TableComment}}"
  167. MDelete.Icon = "dash-square"
  168. //MDelete.Path = "{{.TBName}}"
  169. MDelete.MenuType = "F"
  170. MDelete.Action = "无"
  171. MDelete.Permission = "{{.PackageName}}:{{.BusinessName}}:remove"
  172. MDelete.ParentId = Cmenu.MenuId
  173. MDelete.NoCache = false
  174. MDelete.Sort = 0
  175. MDelete.BtnClass= "btn btn-light-danger"
  176. MDelete.BtnScript= "handleDelete@0"
  177. MDelete.IsHide = false
  178. MDelete.IsFrame = false
  179. MDelete.CreateBy = "1"
  180. MDelete.UpdateBy = "1"
  181. MDelete.CreatedAt = timeNow
  182. MDelete.UpdatedAt = timeNow
  183. // MDelete.MenuId, err = MDelete.Create(db)
  184. err = tx.Create(&MDelete).Error
  185. if err != nil {
  186. return err
  187. }
  188. var InterfaceId = 63
  189. Amenu := Menu{}
  190. Amenu.MenuName = "{{.TBName}}"
  191. Amenu.Title = "{{.TableComment}}"
  192. Amenu.Icon = "bug"
  193. //Amenu.Path = "{{.TBName}}"
  194. Amenu.MenuType = "M"
  195. Amenu.Action = "无"
  196. Amenu.ParentId = InterfaceId
  197. Amenu.NoCache = false
  198. Amenu.Sort = 0
  199. Amenu.BtnClass= ""
  200. Amenu.BtnScript= ""
  201. Amenu.IsHide = true
  202. Amenu.IsFrame = false
  203. Amenu.CreateBy = "1"
  204. Amenu.UpdateBy = "1"
  205. Amenu.CreatedAt = timeNow
  206. Amenu.UpdatedAt = timeNow
  207. // Amenu.MenuId, err = Amenu.Create(db)
  208. err = tx.Create(&Amenu).Error
  209. if err != nil {
  210. return err
  211. }
  212. AList := Menu{}
  213. AList.MenuName = ""
  214. AList.Title = "分页获取{{.TableComment}}"
  215. AList.Icon = "bug"
  216. //AList.Path = "/api/{{.ModuleName}}"
  217. AList.MenuType = "A"
  218. AList.Action = "GET"
  219. AList.ParentId = Amenu.MenuId
  220. AList.NoCache = false
  221. AList.Sort = 0
  222. AList.BtnClass= ""
  223. AList.BtnScript= ""
  224. AList.IsHide = true
  225. AList.IsFrame = false
  226. AList.CreateBy = "1"
  227. AList.UpdateBy = "1"
  228. AList.CreatedAt = timeNow
  229. AList.UpdatedAt = timeNow
  230. // AList.MenuId, err = AList.Create(db)
  231. err = tx.Create(&AList).Error
  232. if err != nil {
  233. return err
  234. }
  235. AGet := Menu{}
  236. AGet.MenuName = ""
  237. AGet.Title = "根据id获取{{.TableComment}}"
  238. AGet.Icon = "bug"
  239. //AGet.Path = "/api/{{.ModuleName}}/:id"
  240. AGet.MenuType = "A"
  241. AGet.Action = "GET"
  242. AGet.ParentId = Amenu.MenuId
  243. AGet.NoCache = false
  244. AGet.Sort = 0
  245. AGet.BtnClass= ""
  246. AGet.BtnScript= ""
  247. AGet.IsHide = true
  248. AGet.IsFrame = false
  249. AGet.CreateBy = "1"
  250. AGet.UpdateBy = "1"
  251. AGet.CreatedAt = timeNow
  252. AGet.UpdatedAt = timeNow
  253. // AGet.MenuId, err = AGet.Create(db)
  254. err = tx.Create(&AGet).Error
  255. if err != nil {
  256. return err
  257. }
  258. ACreate := Menu{}
  259. ACreate.MenuName = ""
  260. ACreate.Title = "创建{{.TableComment}}"
  261. ACreate.Icon = "bug"
  262. //ACreate.Path = "/api/{{.ModuleName}}"
  263. ACreate.MenuType = "A"
  264. ACreate.Action = "POST"
  265. ACreate.ParentId = Amenu.MenuId
  266. ACreate.NoCache = false
  267. ACreate.Sort = 0
  268. ACreate.BtnClass= ""
  269. ACreate.BtnScript= ""
  270. ACreate.IsHide = true
  271. ACreate.IsFrame = false
  272. ACreate.CreateBy = "1"
  273. ACreate.UpdateBy = "1"
  274. ACreate.CreatedAt = timeNow
  275. ACreate.UpdatedAt = timeNow
  276. // ACreate.MenuId, err = ACreate.Create(db)
  277. err = tx.Create(&ACreate).Error
  278. if err != nil {
  279. return err
  280. }
  281. AUpdate := Menu{}
  282. AUpdate.MenuName = ""
  283. AUpdate.Title = "修改{{.TableComment}}"
  284. AUpdate.Icon = "bug"
  285. //AUpdate.Path = "/api/{{.ModuleName}}/:id"
  286. AUpdate.MenuType = "A"
  287. AUpdate.Action = "PUT"
  288. AUpdate.ParentId = Amenu.MenuId
  289. AUpdate.NoCache = false
  290. AUpdate.Sort = 0
  291. AUpdate.BtnClass= ""
  292. AUpdate.BtnScript= ""
  293. AUpdate.IsHide = true
  294. AUpdate.IsFrame = false
  295. AUpdate.CreateBy = "1"
  296. AUpdate.UpdateBy = "1"
  297. AUpdate.CreatedAt = timeNow
  298. AUpdate.UpdatedAt = timeNow
  299. // AUpdate.MenuId, err = AUpdate.Create(db)
  300. err = tx.Create(&AUpdate).Error
  301. if err != nil {
  302. return err
  303. }
  304. ADelete := Menu{}
  305. ADelete.MenuName = ""
  306. ADelete.Title = "删除{{.TableComment}}"
  307. ADelete.Icon = "bug"
  308. //ADelete.Path = "/api/{{.ModuleName}}"
  309. ADelete.MenuType = "A"
  310. ADelete.Action = "DELETE"
  311. ADelete.ParentId = Amenu.MenuId
  312. ADelete.NoCache = false
  313. ADelete.Sort = 0
  314. ADelete.BtnClass= ""
  315. ADelete.BtnScript= ""
  316. ADelete.IsHide = true
  317. ADelete.IsFrame = false
  318. ADelete.CreateBy = "1"
  319. ADelete.UpdateBy = "1"
  320. ADelete.CreatedAt = timeNow
  321. ADelete.UpdatedAt = timeNow
  322. //ADelete.MenuId, err = ADelete.Create(db)
  323. err = tx.Create(&ADelete).Error
  324. if err != nil {
  325. return err
  326. }
  327. return tx.Create(&common.Migration{
  328. Version: version,
  329. }).Error
  330. })
  331. }