Java 如何在不同的模式中进行迁移?
我尝试将简单的sql内容迁移到Oracle 11gR2数据库中的不同模式。Java 如何在不同的模式中进行迁移?,java,migration,flyway,Java,Migration,Flyway,我尝试将简单的sql内容迁移到Oracle 11gR2数据库中的不同模式。 我已经在spring上下文中为系统用户定义了一个数据源,此外,我还为目标模式设置了schemas参数 但这不起作用。所有表都将在系统架构中创建。将仅在架构[0]中创建我的迁移表。所有其他架构都为空 下面是我的代码片段: <bean id="flywaySYSTEM" class="com.googlecode.flyway.core.Flyway"> <property name="dataSo
我已经在spring上下文中为系统用户定义了一个数据源,此外,我还为目标模式设置了schemas参数 但这不起作用。所有表都将在系统架构中创建。将仅在架构[0]中创建我的迁移表。所有其他架构都为空 下面是我的代码片段:
<bean id="flywaySYSTEM" class="com.googlecode.flyway.core.Flyway">
<property name="dataSource" ref="dsSYSTEM" />
<property name="schemas">
<list>
<value>MZEB</value>
<value>MZEB2</value>
</list>
</property>
</bean>
@Test
/**
* Test with an local oracle database.
*/
public void createSchemasInOracle(){
Flyway flySYSTEM = (Flyway)beanFactory.getBean("flywaySYSTEM");
flySYSTEM.clean();
flySYSTEM.migrate();
}
我的期望是这些sql文件将按照指定的模式执行
致以最良好的祝愿
Marcelschemas属性告诉Flyway在何处创建元数据表以及使用哪些模式进行清理 在迁移中引用不固定的表名时,将使用该连接的默认模式。对于Oracle,这通常意味着当前用户 要解决您的问题,您可以执行以下操作之一
- 更改数据库连接用户
- 在表名前面加上它所属的架构
CREATE TABLE test_user (name VARCHAR(25) NOT NULL,PRIMARY KEY(name));