init.go 1007 字节
Newer Older
MELF晓宇's avatar
MELF晓宇 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/**
 * @Time    :2021/11/9 15:17
 * @Author  :MELF晓宇
 * @Email   :xyzh.melf@petalmail.com
 * @FileName:init.go
 * @Project :gin-start
 * @Blog    :https://blog.csdn.net/qq_29537269
 * @Guide   :https://guide.melf.space
 * @Information:
 *
 */

package models

import (
16 17
	"errors"
	conn "gin-start/connection"
MELF晓宇's avatar
MELF晓宇 已提交
18 19 20
	"github.com/casbin/casbin"
	"github.com/casbin/gorm-adapter"
	"log"
MELF晓宇's avatar
MELF晓宇 已提交
21
)
MELF晓宇's avatar
MELF晓宇 已提交
22
import _ "github.com/go-sql-driver/mysql"
MELF晓宇's avatar
MELF晓宇 已提交
23

24
// DBAutoMigrate
MELF晓宇's avatar
MELF晓宇 已提交
25
/**
26 27
 * @Description: 自动迁移
 * @param DB 数据库连接池
MELF晓宇's avatar
MELF晓宇 已提交
28
 */
29
func DBAutoMigrate() (err error) {
MELF晓宇's avatar
MELF晓宇 已提交
30
	// 自动迁移
31
	err = conn.DB.AutoMigrate(
MELF晓宇's avatar
MELF晓宇 已提交
32 33
		&User{}, // 用户
		&Role{}, // 角色
MELF晓宇's avatar
MELF晓宇 已提交
34 35
	)
	if err != nil {
36
		return errors.New("自动迁移失败:" + err.Error())
MELF晓宇's avatar
MELF晓宇 已提交
37
	}
38 39
	return nil
}
MELF晓宇's avatar
MELF晓宇 已提交
40

41 42 43 44 45
// InitModel
/**
 * @Description: 初始化数据表
 */
func InitModel() {
MELF晓宇's avatar
MELF晓宇 已提交
46 47 48 49 50 51
	adapter := gormadapter.NewAdapterByDB(conn.DBForCasbin)
	Enforcer := casbin.NewEnforcer("config\\rbac_model.conf", adapter)
	err3 := Enforcer.LoadPolicy()
	if err3 != nil {
		log.Fatalln(err3)
	}
MELF晓宇's avatar
MELF晓宇 已提交
52
}