【发布时间】:2012-09-01 18:33:22
【问题描述】:
我正在使用带有 Postgres 的 Flyway,我注意到如果我的 tomcat 服务器正在运行,并且我尝试执行DROP SCHEMA foo,它在 tomcat 关闭之前不起作用。我假设 flyway 有一些机制可以在运行后阻止对模式的修改。其他客户端修改模式的阻塞是如何在flyway中完成的。
【问题讨论】:
标签: flyway
我正在使用带有 Postgres 的 Flyway,我注意到如果我的 tomcat 服务器正在运行,并且我尝试执行DROP SCHEMA foo,它在 tomcat 关闭之前不起作用。我假设 flyway 有一些机制可以在运行后阻止对模式的修改。其他客户端修改模式的阻塞是如何在flyway中完成的。
【问题讨论】:
标签: flyway
Flyway 不锁定架构。
当它开始应用迁移时,它会开始一个事务。然后它使用SELECT * FROM metadatatable FOR UPDATE 获取元数据表上的锁。当事务提交或回滚时,迁移完成后,此锁会自动释放。
【讨论】: