harmonica / com.improve_future.harmonica.core / AbstractMigration

AbstractMigration

abstract class AbstractMigration

Constructors

<init>

AbstractMigration()

Properties

config

val config: DbConfig

Functions

addBigIntegerColumn

fun addBigIntegerColumn(tableName: String, columnName: String, nullable: Boolean = true, default: Long? = null, unsigned: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addBigIntegerColumn(tableName: String, columnName: String, nullable: Boolean = true, default: RawSql, unsigned: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new big integer column to existing table.

addBlobColumn

fun addBlobColumn(tableName: String, columnName: String, nullable: Boolean = true, default: ByteArray? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addBlobColumn(tableName: String, columnName: String, nullable: Boolean = true, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new BLOB column to existing table.

addBooleanColumn

fun addBooleanColumn(tableName: String, columnName: String, nullable: Boolean = true, default: Boolean? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addBooleanColumn(tableName: String, columnName: String, nullable: Boolean = true, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new boolean column to existing table.

addDateColumn

fun addDateColumn(tableName: String, columnName: String, nullable: Boolean = true, default: Date, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addDateColumn(tableName: String, columnName: String, nullable: Boolean = true, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new date column to existing table.

fun addDateColumn(tableName: String, columnName: String, nullable: Boolean = true, default: String? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addDateColumn(tableName: String, columnName: String, nullable: Boolean = true, default: LocalDate, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new date column to existing table, with String default value.

addDateTimeColumn

fun addDateTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: String? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addDateTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: Date, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addDateTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: LocalDateTime, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addDateTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new DATETIME column to existing table.

addDecimalColumn

fun addDecimalColumn(tableName: String, columnName: String, precision: Int? = null, scale: Int? = null, nullable: Boolean = true, default: Double? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addDecimalColumn(tableName: String, columnName: String, precision: Int? = null, scale: Int? = null, nullable: Boolean = true, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new decimal column to existing table.

addForeignKey

fun addForeignKey(tableName: String, columnName: String, referencedTableName: String, referencedColumnName: String = "id"): Unit

Add foreign key constraint.

addIntegerColumn

fun addIntegerColumn(tableName: String, columnName: String, nullable: Boolean = true, default: Long? = null, unsigned: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addIntegerColumn(tableName: String, columnName: String, nullable: Boolean = true, default: RawSql, unsigned: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new integer column to existing table.

addTextColumn

fun addTextColumn(tableName: String, columnName: String, nullable: Boolean = true, default: String? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTextColumn(tableName: String, columnName: String, nullable: Boolean = true, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new text column to existing table.

addTimeColumn

fun addTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: LocalTime, withTimeZone: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: String? = null, withTimeZone: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: Date, withTimeZone: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTimeColumn(tableName: String, columnName: String, nullable: Boolean = false, default: RawSql, withTimeZone: Boolean = false, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new TIME column to existing table.

addTimestampColumn

fun addTimestampColumn(tableName: String, columnName: String, nullable: Boolean = false, default: String? = null, withTimeZone: Boolean = true, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTimestampColumn(tableName: String, columnName: String, nullable: Boolean = false, default: Date, withTimeZone: Boolean = true, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTimestampColumn(tableName: String, columnName: String, nullable: Boolean = false, default: LocalDateTime, withTimeZone: Boolean = true, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addTimestampColumn(tableName: String, columnName: String, nullable: Boolean = false, default: RawSql, withTimeZone: Boolean = true, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new DATETIME column to existing table.

addVarcharColumn

fun addVarcharColumn(tableName: String, columnName: String, size: Int? = null, nullable: Boolean = true, default: String? = null, first: Boolean = false, justBeforeColumnName: String? = null): Unit
fun addVarcharColumn(tableName: String, columnName: String, size: Int? = null, nullable: Boolean = true, default: RawSql, first: Boolean = false, justBeforeColumnName: String? = null): Unit

Add new varchar column to existing table.

createIndex

fun createIndex(tableName: String, columnName: String, unique: Boolean = false, method: IndexMethod? = null): Unit
fun createIndex(tableName: String, columnNameArray: Array<String>, unique: Boolean = false, method: IndexMethod? = null): Unit
fun createIndex(tableName: String, columnNameCollection: Collection<String>, unique: Boolean = false, method: IndexMethod? = null): Unit

Create Index

createTable

fun createTable(name: String, block: TableBuilder.() -> Unit): Unit

down

open fun down(): Unit

Migrate down

dropForeignKey

fun dropForeignKey(tableName: String, columnName: String, keyConstraintName: String): Unit
fun dropForeignKey(tableName: String, columnName: String): Unit

Drop foreign key constraint.

dropIndex

fun dropIndex(tableName: String, indexName: String): Unit

Drop Index

dropTable

fun dropTable(name: String): Unit

executeSql

fun executeSql(sql: String): Unit

Execute SQL

removeColumn

fun removeColumn(tableName: String, columnName: String): Unit

renameColumn

fun renameColumn(tableName: String, oldColumnName: String, newColumnName: String): Unit

Rename column

renameIndex

fun renameIndex(tableName: String, oldIndexName: String, newIndexName: String): Unit

Rename index.

renameTable

fun renameTable(oldName: String, newName: String): Unit

Rename table.

up

open fun up(): Unit

Migrate up