enilu / web-flash

web-flash -- Admin Framework and Mobile Website Based on Spring Boot and Vue.js
http://webflash.enilu.cn
MIT License
1.29k stars 363 forks source link

在Linux上打包后不生成update数据库更新命令,在Window本地打包则没有问题? #97

Open nickyang2008 opened 3 months ago

nickyang2008 commented 3 months ago

本地开发环境:Window10, Idea ,Maven3.8.1, OpenJDK11.0.2
服务器测试环境: Ubuntu20.04-Server版,MySQL8, OpenJDK11.0.2 , Maven3.8.5

现象: 在本地开发都没有问题,可以正常插入、修改、删除,本地用mvn命令打包也都正常。 但在服务器上用mvn clean package打包运行后,发现可以插入、删除,但不能Update数据库。 并且将服务器上打的包放在本地运行也不用update。 经看记录,是没有生成update sql, 并也不报任何异常。 修改代码可以解决,但不理解为什么,修改方法就是在控制器类内方法直接调用Repo.save()则可以正常update。 可是在Service类中调用Repo.save()函数就会出现上述现象。 比较过两个平台的包内容都没有差异,依赖包的版本都相同,并且本地与服务器联接的都是同一个MySQL8数据库。 特此请教原因,感谢回复!

nickyang2008 commented 3 months ago

补充: UserController UserService 类就能复现。 简单讲在Linux上打包后,在UserService类中调用UserRepository.save()来更新数据则不会生成update sql命令。但在UserController类中直接调用UserRepository.save()则正常。