bootstrap.yml中的配置
spring:
application:
name: service-core
activiti:
db-history-used: true #使用历史表,如果不配置,则工程启动后可以检查数据库,只建立了17张表,历史表没有建立
history-level: full #记录全部历史操作
database-schema-update: true #自动建表
# flase: 默认值。activiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常。
# true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。
# create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)。
# drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎
check-process-definitions: false # 自动部署验证设置:true-开启(默认)、false-关闭 在resource目录下添加processes文件夹,并且文件夹不能为空
# main:
# allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
database-schema: SUNAM_TEST #置建表策略,如果没有表,自动创建表 修改这个地方为大写 :数据源指定
nacos:
config:
bootstrap:
enable: true
username: nacos用户名
password: nacos密码
server-addr: 地址
namespace:
data-ids: ${spring.application.name}.yaml,base.yaml
type: yaml
nacos中的配置
spring:
datasource:
dynamic:
#设置默认的数据源或者数据源组,默认值即为mysql
primary: oracle
#严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
strict: false
datasource:
oracle:
driver-class-name: oracle.jdbc.driver.OracleDriver
username: 用户名
password: 密码
url: jdbc:oracle:thin:@主机:端口:服务名
我遇到的问题是
### The error may exist in org/activiti/db/mapping/entity/Property.xml
### The error may involve org.activiti.engine.impl.persistence.entity.PropertyEntity.selectProperty-Inline
### The error occurred while setting parameters
### SQL: select * from ACT_GE_PROPERTY where NAME_ = ?
### Cause: java.sql.SQLException: ORA-00942: 表或视图不存在
原因在于
引擎在创建表之前 isTablePresent() 方法 发现 schema 的值为null,所以需要配置属性数
据源指定:database-schema: 属性
Mysql中属性应该是你的数据库名称,Oracle则就为用户名