go-admin-team / go-admin

基于Gin + Vue + Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架(包含了:多租户的支持,基础用户管理功能,jwt鉴权,代码生成器,RBAC资源控制,表单构建,定时任务等)3分钟构建自己的中后台项目;项目文档》:https://www.go-admin.pro V2 Demo: https://vue2.go-admin.dev V3 Demo: https://vue3.go-admin.dev Antd 订阅版:https://antd.go-admin.pro
https://www.go-admin.pro
MIT License
11.15k stars 2.32k forks source link

当前默认版本Sqlite数据库初始化报错-已排查出原因 #777

Closed sunird closed 1 month ago

sunird commented 8 months ago

建议把open_sqlite3.go的功能启用,第一次下载[go-admin]想在本地测试一下,发现sqlite3功能不可用。报错:

panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x10.......]

调试了一下发现是go-admin-core@v1.5.2-0.20231103105356-84418ed9252c/tools/database/config.go,中的db, err := gorm.Open(open(e.dsn), config)部分使用的是open.go的代码没有引进sqlite驱动,其实open_sqlite3.go可以用的,可能会有些新手使用默认配置一直报错,排查花费时间

xiliangMa commented 7 months ago

sqlite3 数据库初始化失败 尝试CGO_ENABLED=1 go run -tags sqlite3 main.go migrate -c config/settings.sqlite.yml 可以解决

lngwu11 commented 6 months ago

补充下,如果是生成可执行文件,编译时加上 -tags $ go build -tags sqlite3

编译(在linux环境下)生成 go-admin,然后, 初始化数据库: $ ./go-admin migrate -c config/settings.sqlite.yml 运行服务: $ ./go-admin server -c config/settings.sqlite.yml

以上是针对使用sqlite数据库的情况