go-gorm / sqlserver

GORM sqlserver driver
MIT License
55 stars 37 forks source link

sql server 2008 报错 #61

Closed zhuqiyun closed 1 year ago

zhuqiyun commented 2 years ago

generate struct from table fail: mssql: 在 FETCH 语句中选项 NEXT 的用法无效。

tr1v3r commented 2 years ago

具体的日志发一下?

zhuqiyun commented 2 years ago

具体的日志发一下?

环境:sqlserver2008 go1.7

执行如下配置:::::

g := gen.NewGenerator(gen.Config{
    ModelPkgPath: "./modelGen",
    /* Mode: gen.WithoutContext|gen.WithDefaultQuery*/
    //if you want the nullable field generation property to be pointer type, set FieldNullable true
    //FieldNullable: true,
    //if you want to generate index tags from database, set FieldWithIndexTag true
    FieldWithIndexTag: true,
    //if you want to generate type tags from database, set FieldWithTypeTag true
    FieldWithTypeTag: true,
    //if you need unit tests for query code, set WithUnitTest true
    WithUnitTest: true,
})
g.UseDB(db.GetDB())
g.GenerateModel("wm_picking_task_record")
// execute the action of code generation
g.Execute()

报错如下::::::

=== RUN TestGenModel

2022/05/07 23:35:41 C:/Users/66600/go/pkg/mod/gorm.io/driver/sqlserver@v1.3.2/sqlserver.go:46 [info] replacing callback gorm:create from C:/Users/66600/go/pkg/mod/gorm.io/driver/sqlserver@v1.3.2/sqlserver.go:46

2022/05/07 23:35:41 C:/Users/66600/go/pkg/mod/gorm.io/driver/sqlserver@v1.3.2/sqlserver.go:47 [info] replacing callback gorm:update from C:/Users/66600/go/pkg/mod/gorm.io/driver/sqlserver@v1.3.2/sqlserver.go:47 数据库打开成功

2022/05/07 23:35:41 C:/Users/66600/go/pkg/mod/gorm.io/driver/sqlserver@v1.3.2/migrator.go:297 [35.365ms] [rows:-] SELECT DB_NAME() AS [Current Database]

2022/05/07 23:35:41 C:/Users/66600/go/pkg/mod/gorm.io/driver/sqlserver@v1.3.2/migrator.go:153 mssql: 在 FETCH 语句中选项 NEXT 的用法无效。 [38.863ms] [rows:-] SELECT * FROM "wm_picking_task_record" ORDER BY (SELECT NULL) OFFSET 0 ROW FETCH NEXT 1 ROWS ONLY

2022/05/07 23:35:41 C:/Users/66600/go/pkg/mod/gorm.io/gen@v0.3.4/generator.go:139 [error] generate struct from table fail: mssql: 在 FETCH 语句中选项 NEXT 的用法无效。 --- FAIL: TestGenModel (0.28s) panic: generate struct fail [recovered] panic: generate struct fail

goroutine 53 [running]: testing.tRunner.func1.2({0x16d08c0, 0x18e7390}) C:/Program Files/Go/src/testing/testing.go:1209 +0x24e testing.tRunner.func1() C:/Program Files/Go/src/testing/testing.go:1212 +0x218 panic({0x16d08c0, 0x18e7390}) C:/Program Files/Go/src/runtime/panic.go:1038 +0x215 gorm.io/gen.(Generator).GenerateModelAs(0xc0000b2380, {0x17e5e33, 0x16}, {0xc0000a2798, 0x13}, {0x0, 0x0, 0x1}) C:/Users/66600/go/pkg/mod/gorm.io/gen@v0.3.4/generator.go:140 +0x4ec gorm.io/gen.(Generator).GenerateModel(0xc0000b2380, {0x17e5e33, 0x16}, {0x0, 0x0, 0x0}) C:/Users/66600/go/pkg/mod/gorm.io/gen@v0.3.4/generator.go:104 +0x73 pda-server.TestGenModel(0x0) F:/wms/pda-server/gen_test.go:45 +0xaa testing.tRunner(0xc000503380, 0x1819bc8) C:/Program Files/Go/src/testing/testing.go:1259 +0x102 created by testing.(*T).Run C:/Program Files/Go/src/testing/testing.go:1306 +0x35a

Process finished with exit code 1

zhuqiyun commented 2 years ago

有人遇到这个问题嘛

jinzhu commented 1 year ago

sorry, but 2008 is not going to be supported.