尝试将 Artifactory 2.6.7 升级到 3.0.x 并出现以下错误/异常:
2015-08-14 15:37:53,979 [art-init] [ERROR] (o.a.s.ArtifactoryApplicationContext:196) - Failed to run configuration conversion.
org.artifactory.storage.StorageException: Failed to check for config 'artifactory.config.xml' existence: Table 'artdb.configs' doesn't exist
2015-08-14 16:16:02,808 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:85) - Application could not be initialized: Table 'artdb.configs' doesn't exist
java.lang.reflect.InvocationTargetException: null
浏览数据库,我可以看到其中有几个表,但不是全部。Artifactory 的configure.mysql.sh
脚本运行时没有错误。
请注意,我可能搞乱了恢复和启用 MySQL 支持的顺序。
答案1
我不知道如何重新初始化数据库。我所做的就是删除数据库中的所有表artdb
(反正都是空的),找到 Artifactory 版本的正确数据库架构并应用它(您可以使用您最喜欢的 MySQL 客户端)。
您可以在 Artifactory 的源代码管理中找到这些模式:http://subversion.jfrog.org/artifactory/
例如,这是 v 3.0.1 的 MySQL 模式:http://subversion.jfrog.org/artifactory/public/tags/3.0.1/storage/db/src/main/resources/mysql/mysql.sql