注册

迁移数据库

dawn 2024/10/17 434 4

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:
【CPU】:intel
【问题描述】*:在使用gorm【是安装完数据库后,drivers中的】迁移数据库时,修改某个字段的默认值,报:"failed to look up field with name: F_SEQUENCE",但库中存在此字段:image.png
使用新的版本【如果发生报错等情况,使用下面已整合 gorm1 的 dm 模块压缩包和 gorm2 的 dm 模块压缩包,名称分别为 dmgorm1.zip、dmgorm2.zip,dmgorm1.zip 下载地址为 https://eco.dameng.com/eco-file-server/file/eco/download/20240516154422HH39DNI7AFTUKE3DF9 ,dmgorm2.zip 下载地址为 https://eco.dameng.com/eco-file-server/file/eco/download/202405161544298G5RUFTK0FTE8VJ06W 。】修改数据库字段默认值时,生成的sql是:ALTER TABLE "WCB_ENG_BASIC" MODIFY "F_SEQUENCE" BIGINT NOT NULL DEFAULT -1 COMMENT '序列',错误信息是:
Error -2007: 第 1 行, 第 75 列[COMMENT]附近出现错误:
语法分析出错
stack info:
1). dmgorm2.(*dm_build_1113).dm_build_1146
C:/Software/Go/src/dmgorm2/zq.go:723
2). dmgorm2.(*dm_build_1113).dm_build_1102
C:/Software/Go/src/dmgorm2/zq.go:710
3). dmgorm2.(*dm_build_1113).dm_build_1105
C:/Software/Go/src/dmgorm2/zq.go:760
4). dmgorm2.(*dm_build_697).dm_build_737
C:/Software/Go/src/dmgorm2/a.go:261
5). dmgorm2.(*dm_build_697).Dm_build_764
C:/Software/Go/src/dmgorm2/a.go:352
6). dmgorm2.(*dm_build_697).Dm_build_782
C:/Software/Go/src/dmgorm2/a.go:373
7). dmgorm2.(*DmConnection).executeInner
C:/Software/Go/src/dmgorm2/m.go:201
8). dmgorm2.(*DmConnection).execContext
C:/Software/Go/src/dmgorm2/m.go:587
9). dmgorm2.(*DmConnection).ExecContext
C:/Software/Go/src/dmgorm2/m.go:288
10). database/sql.ctxDriverExec
C:/Software/Go/src/database/sql/ctxutil.go:31
11). database/sql.(*DB).execDC.func2
C:/Software/Go/src/database/sql/sql.go:1705
12). database/sql.withLock
C:/Software/Go/src/database/sql/sql.go:3566
13). database/sql.(*DB).execDC
C:/Software/Go/src/database/sql/sql.go:1700
14). database/sql.(*DB).exec
C:/Software/Go/src/database/sql/sql.go:1685
15). database/sql.(*DB).ExecContext.func1
C:/Software/Go/src/database/sql/sql.go:1664
16). database/sql.(*DB).retry
C:/Software/Go/src/database/sql/sql.go:1568
17). database/sql.(*DB).ExecContext
C:/Software/Go/src/database/sql/sql.go:1663
18). gorm.io/gorm/callbacks.RawExec
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/callbacks/raw.go:9
19). gorm.io/gorm.(*processor).Execute
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/callbacks.go:130
20). gorm.io/gorm.(*DB).Exec
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/finisher_api.go:769
21). dmgorm2.Migrator.MigrateColumn.Migrator.alterColumn.func1
C:/Software/Go/src/dmgorm2/migrator.go:151
22). gorm.io/gorm/migrator.Migrator.RunWithValue
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/migrator/migrator.go:74
23). dmgorm2.Migrator.alterColumn
C:/Software/Go/src/dmgorm2/migrator.go:143
24). dmgorm2.Migrator.MigrateColumn
C:/Software/Go/src/dmgorm2/migrator.go:268
25). gorm.io/gorm/migrator.Migrator.AutoMigrate.func1
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/migrator/migrator.go:161
26). gorm.io/gorm/migrator.Migrator.RunWithValue
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/migrator/migrator.go:74
27). gorm.io/gorm/migrator.Migrator.AutoMigrate
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/migrator/migrator.go:129
28). dmgorm2.Migrator.AutoMigrate
C:/Software/Go/src/dmgorm2/migrator.go:24
29). gorm.io/gorm.(*DB).AutoMigrate
C:/Software/Go/modules/pkg/mod/gorm.io/gorm@v1.25.12/migrator.go:24
30). wai_server/initialize.RegisterTables
D:/Projects/Self/water_affairs_integration/wai_go/wai_server/initialize/db_init.go:53
31). main.main
D:/Projects/Self/water_affairs_integration/wai_go/wai_server/main.go:70
32). runtime.main
C:/Software/Go/src/runtime/proc.go:272
而且gorm数据库类型是int,映射到库变成了bigint,默认值是-1,每次新增表时,都会alter这个字段,然后报错,ALTER TABLE "WCB_ENG_BASIC" MODIFY "F_SEQUENCE" BIGINT NOT NULL DEFAULT -1 COMMENT '序列';导致表新增失败

回答 0
暂无回答
扫一扫
联系客服