{"record":{"id":"3f5d5c73af870cb2","repo":"cloudreve/cloudreve","slug":"failed-to-list-v3-direct-links-w","errorCode":null,"errorMessage":"failed to list v3 direct links: %w","messagePattern":"failed to list v3 direct links: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"application/migrator/directlink.go","lineNumber":26,"sourceCode":"\t\"github.com/cloudreve/Cloudreve/v4/ent/file\"\n\t\"github.com/cloudreve/Cloudreve/v4/pkg/conf\"\n)\n\nfunc (m *Migrator) migrateDirectLink() error {\n\tm.l.Info(\"Migrating direct links...\")\n\tbatchSize := 1000\n\toffset := m.state.DirectLinkOffset\n\tctx := context.Background()\n\n\tif m.state.DirectLinkOffset > 0 {\n\t\tm.l.Info(\"Resuming direct link migration from offset %d\", offset)\n\t}\n\n\tfor {\n\t\tm.l.Info(\"Migrating direct links with offset %d\", offset)\n\t\tvar directLinks []model.SourceLink\n\t\tif err := model.DB.Limit(batchSize).Offset(offset).Find(&directLinks).Error; err != nil {\n\t\t\treturn fmt.Errorf(\"failed to list v3 direct links: %w\", err)\n\t\t}\n\n\t\tif len(directLinks) == 0 {\n\t\t\tif m.dep.ConfigProvider().Database().Type == conf.PostgresDB {\n\t\t\t\tm.l.Info(\"Resetting direct link ID sequence for postgres...\")\n\t\t\t\tm.v4client.DirectLink.ExecContext(ctx, \"SELECT SETVAL('direct_links_id_seq',  (SELECT MAX(id) FROM direct_links))\")\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\n\t\ttx, err := m.v4client.Tx(ctx)\n\t\tif err != nil {\n\t\t\t_ = tx.Rollback()\n\t\t\treturn fmt.Errorf(\"failed to start transaction: %w\", err)\n\t\t}\n\n\t\tfor _, dl := range directLinks {\n\t\t\tsourceId := int(dl.FileID) + m.state.LastFolderID","sourceCodeStart":8,"sourceCodeEnd":44,"githubUrl":"https://github.com/cloudreve/cloudreve/blob/20c95ad73f3a8bcb72887fea91ff31ab24fa1011/application/migrator/directlink.go#L8-L44","documentation":"Error \"failed to list v3 direct links: %w\" thrown in cloudreve/cloudreve.","triggerScenarios":"Thrown at application/migrator/directlink.go:26 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"20c95ad73f3a8bcb72887fea91ff31ab24fa1011","analyzedAt":"2026-08-16T01:42:55.403Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}