我有一个Java EE应用程序,它使用SQL Server Express作为后端数据库。当我们部署新版本时,有时需要更改数据库:添加表、添加列、删除列、合并表、合并列等。
直到今天,我们使用离线SQL脚本来修改数据库,但这种解决方案不可扩展且非常容易出错。
我们开始使用一个单例启动bean,该bean具有@PostConstruct装饰的方法,用于在部署期间系统使用的添加和删除数据。
现在,我们还想发出DML语句,以便在部署期间升级我们的数据库,并彻底消除SQL脚本。
1. 有人尝试过吗?这是一个好的方向吗? 2. 我们应该使用entityManager.unwrap方法还是简单地将JDBC DataSource资源注入我们的单例启动bean?
直到今天,我们使用离线SQL脚本来修改数据库,但这种解决方案不可扩展且非常容易出错。
我们开始使用一个单例启动bean,该bean具有@PostConstruct装饰的方法,用于在部署期间系统使用的添加和删除数据。
现在,我们还想发出DML语句,以便在部署期间升级我们的数据库,并彻底消除SQL脚本。
1. 有人尝试过吗?这是一个好的方向吗? 2. 我们应该使用entityManager.unwrap方法还是简单地将JDBC DataSource资源注入我们的单例启动bean?