Packages

package ideal

Contains the class and object to create the ideal database schema in memory.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ideal
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class ArrayType(arrayOf: IdealDataType) extends IdealDataType with Product with Serializable
  2. case class BinaryType(size: Option[Int]) extends IdealDataType with Product with Serializable
  3. trait DataTypeOutput[A] extends AnyRef

    Trait which is extended to produce an output.

    Trait which is extended to produce an output. Eg SQL text output.

    A

    The output type.

  4. case class DataTypePostgresSqlOutput(toCaseFunction: (String) => String) extends DataTypeSqlOutput with Product with Serializable

    Produces output for types specific to Postgres, such as bytea, serial and text.

    Produces output for types specific to Postgres, such as bytea, serial and text.

    toCaseFunction

    Used as a post processor for SQL Keywords to produce a specifit output style, usually upper or lower case.

  5. abstract class DataTypeSqlOutput extends DataTypeOutput[String]

    Implementation of an output which is an SQL String.

  6. case class FixedLengthBinaryType(size: Int) extends IdealDataType with Product with Serializable
  7. case class FixedLengthCharacterType(length: Int, charset: Charset) extends IdealDataType with Product with Serializable
  8. case class IdealColumn(name: String, dataType: IdealDataType, nullable: Boolean, remark: Option[String]) extends Product with Serializable

    Represents the 'ideal' column.

    Represents the 'ideal' column.

    name

    Column Name

    dataType

    Column Data Type

    nullable

    is the data nullable?

    remark

    Comment about the column

  9. sealed trait IdealDataType extends AnyRef
  10. case class IdealForeignKey(column: IdealColumn, foreignReference: (IdealTable, IdealColumn)) extends Product with Serializable

    Represents an 'ideal' foreign key.

    Represents an 'ideal' foreign key.

    column

    A reference to the column this key is.

    foreignReference

    Reference to the foreign key in a specific table.

  11. case class IdealSchema(name: String, tables: List[IdealTable]) extends Product with Serializable

    Represents an 'ideal' Schema.

    Represents an 'ideal' Schema.

    name

    The name of the schema.

    tables

    The list of tables within this schema.

  12. case class IdealTable(name: String, primaryKeyColumns: List[IdealColumn], columns: List[IdealColumn], foreignKeys: List[IdealForeignKey], uniqueConstraints: List[UniqueConstraint], remark: Option[String]) extends Product with Serializable

    Represents an 'ideal' table.

    Represents an 'ideal' table.

    name

    Name of the table.

    primaryKeyColumns

    A list of the primary keys of this table.

    columns

    A list of the columns in the table (excluding primary and foreign key)

    foreignKeys

    A list of the foreign key constraints reference from this table.

    remark

    A comment about the table.

  13. case class IntegerType(autoIncrement: Boolean) extends IdealDataType with Product with Serializable
  14. case class LongType(autoIncrement: Boolean) extends IdealDataType with Product with Serializable
  15. case class NumericType(precision: Int, scale: Int) extends IdealDataType with Product with Serializable
  16. case class PostgresSqlOutput(toCaseFunction: (String) => String) extends SchemaOutput with Product with Serializable
  17. class SchemaOutput extends AnyRef

    Responsible for producing Output from a Diff.

    Responsible for producing Output from a Diff. In other words, what SQL statements need to be executed in order for the DB to be in sync with the ideal.

  18. case class StringType(length: Option[Int], charset: Charset) extends IdealDataType with Product with Serializable
  19. case class TimeType(withTimeZone: Boolean) extends IdealDataType with Product with Serializable
  20. case class TimestampType(withTimeZone: Boolean) extends IdealDataType with Product with Serializable
  21. case class UniqueConstraint(uniqueGroup: List[IdealColumn]) extends Product with Serializable

Value Members

  1. object BinaryType extends Serializable
  2. case object BooleanType extends IdealDataType with Product with Serializable
  3. case object DateType extends IdealDataType with Product with Serializable
  4. object Diff

    Responsible for calculating the difference between the 'ideal' and what is in the Database Cache.

  5. case object DoubleType extends IdealDataType with Product with Serializable
  6. object IdealTable extends Serializable
  7. object IntegerType extends Serializable
  8. case object IntervalType extends IdealDataType with Product with Serializable
  9. object LongType extends Serializable
  10. object PostgresSqlOutput extends Serializable
  11. case object RealType extends IdealDataType with Product with Serializable
  12. object SchemaOutput
  13. case object SmallIntType extends IdealDataType with Product with Serializable
  14. object StringType extends Serializable
  15. object TimeType extends Serializable
  16. object TimestampType extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped