如何在x射线3升级期间从Snyk错误中恢复
主题
如果Snyk数据在Mongo数据库中,Xray 3将无法升级。
影响版本
x光3。X迁移和升级
描述
x射线曾经支持Snyk漏洞数据,但这个合作关系结束了一段时间。因此,MongoDB到Postgres的迁移不考虑MongoDB数据库中的漏洞项。URL长度超过64个字符,导致错误:
2020-04-11T12:49:24.165Z ^[[33m[jfxps]^[[0m ^[[1m] [31m[ERROR]^[[0m [] [lock:97] [main] Could not start running: Migration for mongodb has failed: mongodb migrations output:
> 0061年_xray.up.mgo
V0061_BinaryManagersIndexed2022世界杯阿根廷预选赛赛程Resources_Up
> 1000年_xray.up.mgo
V1000_MigrateMongoCollectionsToPostgres_Up
ERROR: Method V1000_MigrateMongoCollectionsToPostgres_Up returned an ERROR: Failed on migrate vulnerability: Failed to run bulk upload command copy public_vulnerilities_sources FROM '/opt/jfrog/xray/var/data/server/db_migrations/mgo2pg/ public_vulnerilities_sources . CSV ' WITH NULL AS E'''' DELIMITER ',' CSV HEADER;: ERROR: exit status 1 .输出说明
StdErr:错误:值对于类型字符变化太长(64)
复制public_vulnerilities_sources,行49866,列source_id: "SNYK-DOTNET-MICROSOFTASPNETCORESERVERKESTRELTRANSPORTABSTRACTIONS-60242"
决议
您需要在MongoDB中纠正有问题的表行,然后强制重新启动迁移。
mongo -u x射线-p password -authenticationDatabase x射线-authenticationMechanism超标准编码- sha -1
{
"name": "Snyk VulnDB",
“source_id”:“jfrog-fix”,
“url”:“https://snyk.io/vuln/SNYK-DOTNET-60242”
}
}})
#默认密码:“xray”
./psql xraydb x射线
