I have a problem with PK generation strategy in cayenne.
I'm using PostgreSQL 9.6 with Apache Cayenne 4.0.B1.
This is my table in postgres:
create table ui_template (
id varchar(50) primary key default uuid_generate_v1(),
path varchar(300) not null,
type varchar(50) not null
);
Then I'm doing Tools -> Reengineer Database Schema in Cayenne Modeler. I got table and enity. And now i have to set PK Generation Strategy to Database-Generated, to let DB generate my PK's. Everything works fine when I'm inserting objects through ObjectContext. But, if I'm running gradle task cdbimport it overwrites my datamap.map.xml file with another one without Generation Strategy. Please give me advice what I'm doing wrong.
This is my gradle task
buildscript {
// add Maven Central repository
repositories {
mavenCentral()
}
// add Cayenne Gradle Plugin
dependencies {
classpath group: 'org.apache.cayenne.plugins', name: 'cayenne-gradle-plugin', version: '4.0.B1'
classpath group: 'org.postgresql', name: 'postgresql', version: '42.1.3'
}
}
// apply plugin
apply plugin: 'org.apache.cayenne'
// set default DataMap
cayenne.defaultDataMap 'resources/datamap.map.xml'
// add Cayenne dependencies to your project
dependencies {
// this is a shortcut for 'org.apache.cayenne:cayenne-server:VERSION_OF_PLUGIN'
compile cayenne.dependency('server')
compile cayenne.dependency('java8')
}
cdbimport {
dataSource {
driver 'org.postgresql.Driver'
url 'jdbc:postgresql://localhost:5432/my_db'
username 'user'
password 'pass'
}
}