harmonica / com.improve_future.harmonica.core.table / TableBuilder

TableBuilder

class TableBuilder

Constructors

<init>

TableBuilder()

Properties

id

var id: Boolean

Specify add auto incremental id column or not

tableName

lateinit var tableName: String

tableNameIsInPluralForm

var tableNameIsInPluralForm: Boolean

Specify table name pluralization

Functions

bigInteger

fun bigInteger(columnName: String, nullable: Boolean = true, default: Long? = null, unsigned: Boolean = false): ColumnBuilder
fun bigInteger(columnName: String, nullable: Boolean = true, default: RawSql, unsigned: Boolean = false): ColumnBuilder

Add big integer column.

blob

fun blob(columnName: String, nullable: Boolean = true, default: ByteArray? = null): ColumnBuilder
fun blob(columnName: String, nullable: Boolean = true, default: RawSql): ColumnBuilder

Add BLOB column

boolean

fun boolean(columnName: String, nullable: Boolean = true, default: Boolean? = null): ColumnBuilder
fun boolean(columnName: String, nullable: Boolean = true, default: RawSql): ColumnBuilder

add boolean column

comment

fun comment(text: String): Unit

Add table comment

date

fun date(columnName: String, nullable: Boolean = true, default: Date): ColumnBuilder

add date column of java.util.Date default value.

fun date(columnName: String, nullable: Boolean = true, default: String? = null): ColumnBuilder

add date column of no default value or String default value

fun date(columnName: String, nullable: Boolean = true, default: LocalDate): ColumnBuilder

add date column of java.time.LocalDate default value

fun date(columnName: String, nullable: Boolean = true, default: RawSql): ColumnBuilder

add date column of RawSql default value

dateTime

fun dateTime(columnName: String, nullable: Boolean = true, default: Date): ColumnBuilder
fun dateTime(columnName: String, nullable: Boolean = true, default: String? = null): ColumnBuilder
fun dateTime(columnName: String, nullable: Boolean = true, default: LocalDateTime): ColumnBuilder
fun dateTime(columnName: String, nullable: Boolean = true, default: RawSql): ColumnBuilder

add DATETIME column

decimal

fun decimal(columnName: String, precision: Int? = null, scale: Int? = null, nullable: Boolean = true, default: Double? = null): ColumnBuilder
fun decimal(columnName: String, precision: Int? = null, scale: Int? = null, nullable: Boolean = true, default: RawSql): ColumnBuilder

Add decimal column

integer

fun integer(columnName: String, nullable: Boolean = true, default: Long? = null, unsigned: Boolean = false): ColumnBuilder
fun integer(columnName: String, nullable: Boolean = true, default: RawSql, unsigned: Boolean = false): ColumnBuilder

Add integer column.

refer

fun refer(tableName: String, nullable: Boolean = true, default: Long? = null, columnName: String = "id"): ColumnBuilder

Add reference column.

string

fun string(columnName: String, size: Int? = null, nullable: Boolean = true, default: String? = null): ColumnBuilder
fun string(columnName: String, size: Int? = null, nullable: Boolean = true, default: RawSql): ColumnBuilder

add varchar column

text

fun text(columnName: String, nullable: Boolean = true, default: String? = null): ColumnBuilder
fun text(columnName: String, nullable: Boolean = true, default: RawSql): ColumnBuilder

Add TEXT column, unlimited length string

time

fun time(columnName: String, nullable: Boolean = true, default: LocalTime? = null, withTimeZone: Boolean = false): ColumnBuilder
fun time(columnName: String, nullable: Boolean = true, default: String, withTimeZone: Boolean = false): ColumnBuilder
fun time(columnName: String, nullable: Boolean = true, default: Date, withTimeZone: Boolean = false): ColumnBuilder
fun time(columnName: String, nullable: Boolean = true, default: RawSql, withTimeZone: Boolean = false): ColumnBuilder

add Time column

timestamp

fun timestamp(columnName: String, nullable: Boolean = true, default: String? = null, withTimeZone: Boolean = false): ColumnBuilder
fun timestamp(columnName: String, nullable: Boolean = true, default: Date, withTimeZone: Boolean = false): ColumnBuilder
fun timestamp(columnName: String, nullable: Boolean = true, default: LocalDateTime, withTimeZone: Boolean = false): ColumnBuilder
fun timestamp(columnName: String, nullable: Boolean = true, default: RawSql, withTimeZone: Boolean = false): ColumnBuilder

add TIMESTAMP column

varchar

fun varchar(columnName: String, size: Int? = null, nullable: Boolean = true, default: String? = null): ColumnBuilder
fun varchar(columnName: String, size: Int? = null, nullable: Boolean = true, default: RawSql): ColumnBuilder

add varchar column