Activiti BPM Platform - 选择用于创建表的特定架构?

时间:2014-02-14 13:17:22

标签: postgresql configuration database-schema activiti

我刚刚开始使用活动并以嵌入方式将其集成到我的项目(基于postgres)中(示例弹簧配置文件片段)

    (...)
    <!-- Activiti components -->
    <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="databaseSchemaUpdate" value="true" />
        <property name="jobExecutorActivate" value="false" />
    </bean>

    <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
        <property name="processEngineConfiguration" ref="processEngineConfiguration" />
    </bean>

    <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
    <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
    <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
    <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
    <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />

    (...)

它很好用,并在启动时在我的应用程序架构上创建了很多表。

我的问题是:在postgres数据库的'public'模式中创建表。我宁愿把这些表放在一个单独的模式中,比如'activity'。

事实是,在浏览文档/网络近两个小时之后,我没有找到任何方法来更改默认架构目标创建行为。

任何帮助......非常感谢! ;)

1 个答案:

答案 0 :(得分:0)

自Postgres 9.4 JDBC驱动程序以来,您可以在JDBC URL中指定默认架构,如下所示: jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema

使用此URL,所有Activiti表都在myschema架构中创建,而不是搜索路径中的默认值,通常为public

来源:Stack Overflow上的this responselatest documentation