указать схему базы данных для таблиц activiti-5.12.1

Я собираюсь использовать activiti-5.12.1 в своем проекте.

вот файл activiti.cfg.xml:

<?xml version='1.0' encoding='UTF-8'?>

<beans xmlns="http://www.springframework.org/schema/beans" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration" >

        <property name="databaseType" value="postgres" />
        <property name="jdbcUrl" value="jdbc:postgresql://project:5432/MYPROJECT" />
        <property name="jdbcDriver" value="org.postgresql.Driver" />
        <property name="jdbcUsername" value="me" />
        <property name="jdbcPassword" value="you" />

        <property name="databaseSchemaUpdate" value="false" />

        <property name="jobExecutorActivate" value="false" />

        <property name="history" value="full" />

        <property name="customPreVariableTypes">
            <list>
                <ref bean="activitiScriptNodeType" />
                <ref bean="activitiScriptNodeListType" />
            </list>
        </property>


        <property name="mailServerHost" value="mail.my-corp.com" />
        <property name="mailServerPort" value="5025" />
    </bean>

</beans>

Я хочу создать базу данных activiti самостоятельно, используя сценарии, доступные в activiti-engine-5.12.1.jar.
По умолчанию таблицы создаются в общедоступной схеме, но Я хочу, чтобы они были в другой схеме, например, mySchema.
мой вопрос заключается в том, как я могу управлять этим, кроме того, как я могу указать это в activiti.cfg.xml, чтобы сообщить движку activiti api, что таблицы действий находятся в mySchema?


person Ehsan    schedule 15.05.2013    source источник


Ответы (3)


Я использую базу данных MySQL для activiti, поэтому у меня есть такая конфигурация, чтобы создать собственное имя схемы:

<property name="databaseType" value="mysql" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="root" />

Так как вы используете postgresql, я не совсем уверен, будет ли работать следующий код для вас или нет:

<?xml version='1.0' encoding='UTF-8'?>

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration" >

    <property name="databaseType" value="postgres" />
    <property name="jdbcUrl" value="jdbc:postgresql://project:5432/MYPROJECT/activiti" />
    <property name="jdbcDriver" value="org.postgresql.Driver" />
    <property name="jdbcUsername" value="me" />
    <property name="jdbcPassword" value="you" />

    <property name="databaseSchemaUpdate" value="false" />

    <property name="jobExecutorActivate" value="false" />

    <property name="history" value="full" />

    <property name="customPreVariableTypes">
        <list>
            <ref bean="activitiScriptNodeType" />
            <ref bean="activitiScriptNodeListType" />
        </list>
    </property>


    <property name="mailServerHost" value="mail.my-corp.com" />
    <property name="mailServerPort" value="5025" />
</bean>

Before deploying `activiti with new changes, mke sure that your database has the schema created.

person Madhusudan Joshi    schedule 15.05.2013

Попробуйте изменить тип базы данных на имя вашей базы данных или «postgresql».

person Ozkan Ciftci    schedule 07.03.2014
comment
databaseType будет postgres (в Activiti 5.18.0), но вам не нужно его устанавливать, он будет получен из URL-адреса JDBC. Но, к сожалению, поддержка Activiti в PostgreSQL не идеальна. - person cslotty; 18.09.2015

Если вы используете Spring, поможет следующее свойство: spring.activiti.databaseSchema=MY_SCHEMA

person Vel    schedule 15.03.2019