我刚刚开始使用活动并以嵌入方式将其集成到我的项目(基于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'。
事实是,在浏览文档/网络近两个小时之后,我没有找到任何方法来更改默认架构目标创建行为。
任何帮助......非常感谢! ;)
答案 0 :(得分:0)
自Postgres 9.4 JDBC驱动程序以来,您可以在JDBC URL中指定默认架构,如下所示:
jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema
使用此URL,所有Activiti表都在myschema
架构中创建,而不是搜索路径中的默认值,通常为public
。
来源:Stack Overflow上的this response和latest documentation。