<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>vertx-zeus</artifactId>
        <groupId>cn.vertxup</groupId>
        <version>0.4.5</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <name>( Zero Mesh ) Atlas - Jooq</name>
    <artifactId>up-atlas</artifactId>
    <build>
        <plugins>
            <plugin>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <executions>
                    <execution>
                        <phase>jooq-generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>${mysql.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>io.github.jklingsporn</groupId>
                        <artifactId>vertx-jooq-generate</artifactId>
                        <version>${vertx.jooq.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <jdbc>
                        <driver>com.mysql.cj.jdbc.Driver</driver>
                        <url>
                            <![CDATA[ jdbc:mysql://127.0.0.1:3306/DB_HTL?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&useSSL=false ]]>
                        </url>
                        <username>htl</username>
                        <password>pl,okmijn123</password>
                    </jdbc>
                    <generator>
                        <name>io.github.jklingsporn.vertx.jooq.generate.future.FutureVertxGenerator
                        </name>
                        <database>
                            <!--force generating id'sfor everything in public schema, that has an 'id' field-->
                            <syntheticPrimaryKeys>public\..*\.id</syntheticPrimaryKeys>
                            <!--name for fake primary key-->
                            <overridePrimaryKeys>override_primmary_key</overridePrimaryKeys>
                            <name>org.jooq.util.mysql.MySQLDatabase</name>
                            <includes>SEC_USER</includes>
                            <inputSchema>DB_HTL</inputSchema>
                            <unsignedTypes>false</unsignedTypes>
                            <forcedTypes>
                                <!-- Convert tinyint to boolean -->
                                <forcedType>
                                    <name>BOOLEAN</name>
                                    <types>(?i:TINYINT)</types>
                                </forcedType>
                                <!-- Convert varchar column with name 'someJsonObject' to a io.vertx.core.json.JsonObject-->
                                <forcedType>
                                    <userType>io.vertx.core.json.JsonObject</userType>
                                    <converter>io.github.jklingsporn.vertx.jooq.shared.JsonObjectConverter
                                    </converter>
                                    <expression>someJsonObject</expression>
                                    <types>.*</types>
                                </forcedType>
                                <!-- Convert varchar column with name 'someJsonArray' to a io.vertx.core.json.JsonArray-->
                                <forcedType>
                                    <userType>io.vertx.core.json.JsonArray</userType>
                                    <converter>io.github.jklingsporn.vertx.jooq.shared.JsonArrayConverter
                                    </converter>
                                    <expression>someJsonArray</expression>
                                    <types>.*</types>
                                </forcedType>
                            </forcedTypes>
                        </database>
                        <generate>
                            <interfaces>true</interfaces>
                            <daos>true</daos>
                            <fluentSetters>true</fluentSetters>
                            <pojosEqualsAndHashCode>true</pojosEqualsAndHashCode>
                        </generate>
                        <target>
                            <packageName>up.god.jooq.domain</packageName>
                            <directory>src/main/java</directory>
                        </target>
                        <strategy>
                            <name>
                                io.github.jklingsporn.vertx.jooq.generate.future.FutureGeneratorStrategy
                            </name>
                        </strategy>
                    </generator>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>