model := dao.BaseDept.Ctx(ctx).As("A") err = model.LeftJoin(dao.BaseOrg.Table(), "B", fmt.Sprintf("A.%s=B.%s", dao.BaseDept.Columns().COrgId, dao.BaseOrg.Columns().Id, )).Fields(fmt.Sprintf("A.*,B.%s AS c_org_name", dao.BaseOrg.Columns().CName)).Scan(&res)
----------------------------------------
出错信息:
SELECT A.*,B.c_name AS c_org_name FROM "tb_base_dept" AS A LEFT JOIN\"tb_base_org" AS "B" ON (A.c_org_id=B.id) WHERE "A"."deleted_at" IS NULL AND "B"."deleted_at" IS NULL: pq: 对于表\"b\",丢失FROM子句项
GoFrame CLI Tool v2.5.2, https://goframe.org GoFrame Version: v2.5.3 in current go.mod CLI Installed At: D:\gopath\bin\gf.exe Current is a custom installed version, no installation information.
40 Comments
朱华 Hunk
在v2下使用sqlite时,使用该文档所述的link格式 (即sqlite::@file(文件名) ),结果一直报error14,打不开数据库。后面采用 sqlite: 文件名,则成功打开数据库。文档这里关于sqlite的使用是否存在问题?
郭强
这个格式是从
v2.2
版本开始支持,请使用最新版本框架。zuns
配置中的updatedAt 自动更新的值是个字符串 “2022-10-14 13:46:09” 有没有指定用时间戳来替代该字符串时间的配置
18lkdev
郭强 这里时间戳自己转?
MagicGirlYoYo
使用pgsql的时候报:Error: missing "=" after "postgres:123456@tcp(localhost:5432)/dev_db" in connection info string"
郭强
仔细看下文档
pgsql:root:12345678@tcp(127.0.0.1:5432)/test
MagicGirlYoYo
我的数据库配置是这样的
郭强
也要同时升级driver:
go get -u github.com/gogf/gf/contrib/drivers/mysql/v2
MagicGirlYoYo
感谢老哥,升级一下就没问题了
chenwei
我也遇到了相同的问题,没看懂你们是怎么解决的。我的做法是把mysql/v2屏蔽了,打开了pgsql/v2
2024-04-22 09:55:24.117 [ERRO] {384e82076177c81786a5b441a6bf7d52} D:/GO/GoFrame/hotgo/server/utility/simple/simple.go:114: SafeGo exec failed:casbin.NewAdapter err .
CREATE TABLE IF NOT EXISTS hg_admin_role_casbin (
id bigint(20) NOT NULL AUTO_INCREMENT,
p_type varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
v0 varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
v1 varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
v2 varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
v3 varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
v4 varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
v5 varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '管理员_casbin权限表' ROW_FORMAT = Dynamic;
: missing "=" after "postgres:123456@tcp(127.0.0.1:5432)/hotgo" in connection info string"
1. casbin.NewAdapter err .
cbqi
这个有类似gorm的migration功能吗,表还是要自己提前创建好吗,那修改表结构不是很麻烦
一只喜羊羊呀
貌似没有,需要自己导SQL文件
caiwenjun
你最后咋整的放弃这个框架了吗?还是手工维护sql文件
wangshuai
连接clickhouse查询数据,请问这个错误和版本有关系嘛
CLI Built Detail:
Go Version: go1.19.2
GF Version: v2.2.5
Git Commit: none
Build Time: 2022-11-29 16:16:54
clickhouse版本:22.2.2
配置文件:
异常日志:
[clickhouse][conn=1][XXX.XXX.XXX.XXX:9000][send query] compression=%!t(clickhouse.CompressionMethod=2) select * from 表名 where name= 'sss'
[clickhouse][conn=1][XXX.XXX.XXX.XXX:9000][send data] compression=%!t(clickhouse.CompressionMethod=2)
[clickhouse][conn=1][XXX.XXX.XXX.XXX:9000][exception] code: 115, message: Unknown setting charset
2022-11-30 11:17:18.817 [ERRO] {285d7715763e2c1752303151bcfd403a} [ 80 ms] [ck] [default] [rows:0 ] select * from 表名 where name= 'sss'
Error: code: 115, message: Unknown setting charset
咸鱼老罗
sqlite数据库在开发模式下可以使用相对路径,相对路径由项目路径开始
下面配置将会读取文件的路径:项目文件夹/manifest/document/sqlite/focus.db
database:
default:
link: "sqlite::@file(manifest/document/sqlite/focus.db)"
Ocean
有微信交流群吗? 求拉
智刚
这个页面有微信群的信息 框架介绍(最新版本)
Kri6
GoFrame CLI Tool v2.3.1 pgsql 遇到的一些问题(已解决
cannot find database driver for specified database type "pgsql", did you misspell type name "pgsql" or forget importing the database driver? possible reference: https://github.com/gogf/gf/tree/master/contrib/drivers
遇到此问题 不需要下载CLI源码 添加驱动编译!!!
并在 main.go 添加
如果gen dao 生成代码报错 同样执行以上步骤 重新 gen dao
其他数据库同理
gf 默认支持的数据库 https://github.com/gogf/gf/tree/master/contrib/drivers
saner.qu
pgsql有个关于表别名的BUG:
代码:
----------------------------------------
出错信息:
SELECT A.*,B.c_name AS c_org_name FROM "tb_base_dept" AS A LEFT JOIN\"tb_base_org" AS "B" ON (A.c_org_id=B.id) WHERE "A"."deleted_at" IS NULL AND "B"."deleted_at" IS NULL: pq: 对于表\"b\",丢失FROM子句项
--------------------------------------------
原因分析:
在生成的SQL语句中,发现两个表的别名A和B,有些有双引号,有些没有(当然其中也有我的代码中硬编码的也没有加双引号),
如果将所有硬编码部分的A、B都写成"\"A\"" "\"B\""这样也是可以的,但显得非常麻烦,而且容易出错
这个问题应该是仅出现在多表操作时,单表操作没有发现这个问题
Tzu Chieh Li
pgsql 我看是使用 lib/pq , lib/pq 已進入維護模式不再新增功能
有考慮更換為 pgx 嗎?
郭强
可以提pr哈
MagicGirlYoYo
提一个bug,达梦数据库link`dm:root:12345678@tcp(127.0.0.1:5236)/test` 这么写的的话会出现不指定达梦模式的问题,需要这样写才能指定连接模式 `dm:root:12345678@tcp(127.0.0.1:5236)/test?schema=test`
郭强
看起来似乎是配置的问题,如果觉得是BUG欢迎提PR参与共建。
zhonghunxunGM
hi, bro!
I am working on upgrading Dameng content, please pay attention to the merge of this branch
https://github.com/gogf/gf/tree/fix/db_dameng
jiftle
sqlite驱动, gtime.Time类型,数据库字段采用text类型,写入时间为空。
type SysLoginLog struct {
g.Meta `orm:"table:sys_login_log, do:true"`
InfoId interface{} // 访问ID
LoginName interface{} // 登录账号
Ipaddr interface{} // 登录IP地址
LoginLocation interface{} // 登录地点
Browser interface{} // 浏览器类型
Os interface{} // 操作系统
Status interface{} // 登录状态(0成功 1失败)
Msg interface{} // 提示消息
LoginTime *gtime.Time // 登录时间
Module interface{} // 登录模块
}
fc
sqlserver连接时使用sa用户,设置namespace,db.model(table)构建后没有拼接namespace,驱动里面确实没有这个功能,就是找不到对应的表,这个要怎么修改,主要是update那里会查tablefields,如果我传入 schema.table,不知道其他地方是否会有什么影响
pengxue
我的版本 gf -v
GoFrame CLI Tool v2.5.2, https://goframe.org
GoFrame Version: v2.5.3 in current go.mod
CLI Installed At: D:\gopath\bin\gf.exe
Current is a custom installed version, no installation information.
但是 gf gendao 生成的代码不对呢。生成的任何表对应的字段都是不对的呢,entity目录下的。
我回退到2.0.0 版本没有问题了,你们2.5.3这个版本肯定有问题的。
gf -v
GoFrame CLI Tool v2.0.0, https://goframe.org
GoFrame Version: v2.5.3 in current go.mod
CLI Installed At: D:\gopath\bin\gf.exe
CLI Built Detail:
Go Version: go1.17.7
GF Version: v2.0.0
Git Commit: 2022-03-08 21:27:14 aa294ea5df3b86dd8d45dcbf8f3f8b3b5176acf8
Build Time: 2022-03-08 21:55:37
小陈
gdb类覆盖率好低啊, 都是0%
小陈
这里澄清一下, gdb的覆盖率, 是单独提出来放在各个驱动里面的. 如mysql驱动
eric
pg 的 timezone 不能用 `local`, 要用 具体的, 比如:
timezone: "Asia/Shanghai"
苏坚昭
郭强 我的数据库密码包含@,怎么办呢?
lip
不用处理,dsn会解析最后一个@作为间隔符
liuz
SHOW FULL COLUMNS 这个查询是否可以关闭掉,在我执行垮库查询的时候执行这条SHOW FULL COLUMNS会报错。单又不会影响查询结果,会导致一堆错误log
郭强
我看你用的版本
v2.0.6
比较老了,建议升级一下框架版本,后续版本有过改进。fish
hzj
能否在简化下配置,我们实际项目需要链接上百个 mysql,配置文件中每个 mysql 都需要单独配置下 maxIdle、maxOpen 参数,配置文件会很长,如下:
智刚
可以使用配置服务,这样就不需要单独写了配置文件了,集中在配置服务中设置
zdq2601
问大家一下,我的只有这样配置 才能联通"link":"sqlite:./errfile.db" 但是按"link":"sqlite::@file(./errfile.db)" 就不通
cherychen007
V2.6版本使用sqlite 进行数据插入,总是报database is locked (5) (SQLITE_BUSY),能不能帮忙分析下
jarry8359
如果主从都设置成master,数据库主从切换后,只能读数据,不能改数据,只能重新改配置重启服务。