orm.RegisterDataBase方法和must have one register DataBase alias named `default`

3,512 阅读1分钟

使用golang和beego的第一个月。

记录一下。这个地方还算个小坑吧

//注册数据库
/*
    参数一:数据库别名
    参数二:驱动名称
    参数三:数据库连接字符串:username:password@tcp(127.0.0.1:3306)/databasename?charset=utf8
    参数四:设置数据库的最大空闲连接数(非必传)
    参数吴:设置数据库的最大连接数(非必传)
*/orm.RegisterDataBase("HelloBeego", "mysql", "root:123456@tcp(127.0.0.1:3306)/HelloBeego?charset=utf8", 30, 30)

这里的第一个参数 数据库别名,不是指本地数据库的名字,而是注册在orm中的别名,orm中可以注册多个数据库起不同的名称,但是必须有一个default,也就是有一个默认的数据库。

否则就会报错:must have one register DataBase alias named default

并且项目启动的时候不会报错,而是在调用orm.newOrm()时报错,因为项目启动的时候只是在注册orm数据库而已,而实际区创建orm的时候,

这里getDefault则会抛出异常,项目停止运行。

总结:

实际上也很好理解,我需要把我的mysql数据库HelloBeego注册成为orm的默认数据库

orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/HelloBeego?charset=utf8", 30, 30)

这样写就没有问题了