All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.test4j.module.database.script.script.SqliteScript Maven / Gradle / Ivy

There is a newer version: 1.1.2
Show newest version
package org.test4j.module.database.script.script;

import cn.org.atool.fluent.mybatis.metadata.DbType;
import org.test4j.module.database.script.EntityScriptParser;

import static org.test4j.tools.commons.StringHelper.isBlank;

/**
 * 生产Sqlite数据库脚本
 *
 * @author wudarui
 */
@SuppressWarnings("rawtypes")
public class SqliteScript extends EntityScriptParser {
    public SqliteScript(DbTypeConvert typeConvert, Class klass) {
        super(typeConvert, klass);
    }

    @Override
    protected String parseColumn(ColumnDefine column) {
        StringBuilder buff = new StringBuilder();
        buff.append(dbType().wrap(column.name)).append(" ")
            .append(column.autoIncrease ? "INTEGER" : this.convertColumnType(column.type)).append(" ")
            .append(column.notNull ? "NOT NULL " : "NULL ");
        if (!isBlank(column.defaultValue)) {
            buff.append("DEFAULT ").append(super.getDefaultValue(column)).append(" ");
        }
        if (column.primary) {
            buff.append("PRIMARY KEY ");
        }
        if (column.autoIncrease) {
            buff.append("AUTOINCREMENT ");
        }
        return buff.toString().trim();
    }

    @Override
    public DbType dbType() {
        return DbType.SQLITE;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy