我目前正在为游戏构建插件,并且正在使用 SQLite(不过,我也需要使用 MySQL 的解决方案)。我已经发布了一个版本,但我的新版本需要更改表格。
Java中检查表中的所有列是否存在以及它们是否在不丢失数据的情况下更新表的最有效方法是什么?
您可以在新版本的第一次运行时更改表格,或者执行类似的操作
try {
readData();
} catch (SQLException e) {
// if the cause is missing new columns
alterTables();
readData();
}
还有许多其他可能的解决方案。
您可以使用liquibase在每个版本之后创建/迁移数据。Liquibase 允许您基于配置文件 (.xml) 创建更改,然后,如果您向配置文件添加更多更改,它将自动为您更新旧数据库