【发布时间】:2014-10-20 00:04:04
【问题描述】:
所以我刚刚开始使用 Liquibase,我正在尝试将它添加到已经有 200 多个表数据库设置的现有项目中。我已经成功创建了现有数据库的 changeLog.xml。
但是,我遇到了如何处理视图的问题。标记的内容包括完全限定的列名([schema].[table].[column])。这会产生一个问题,因为我希望能够使用 Liquibase 设置同一数据库的不同版本(开发、测试、生产),而这些数据库将具有不同的名称(例如 application_dev、application_testing、application_production)。如果我使用我的开发数据库创建 changeLog.xml,那么我将获得类似于以下视图的内容:
<createView replaceIfExists="true" viewName="view_clients">
select `application_dev.clients.clientid','application_dev.clients.client_name' from `application_dev`
</createView>
所以当我去使用这个 changeLog 创建application_testing 数据库时,我得到了错误
Error executing SQL CREATE VIEW: Table `application_testing.clients` doesn't exist
那么有没有办法解决这个问题,还是我试图让 Liquibase 做一些它不适合做的事情?
【问题讨论】: