// the entityFieldType should be defined elsewhere export type ColumnType = "varchar" | "datetime" | "enum"; export interface EntitySchemaColumnString { columnType?: ColumnType; columnName?: string; length?: number; type: "string"; } export interface EntitySchemaColumnBoolean { columnType?: ColumnType; columnName?: string; type: "boolean"; } export interface EntitySchemaColumnNumber { columnType?: ColumnType; columnName?: string; type: "number"; } export type EntitySchemaColumn = EntitySchemaColumnString | EntitySchemaColumnBoolean | EntitySchemaColumnNumber; export type EntityFieldType = "string" | "boolean" | "number" | "long"; export interface EntitySchema { tableName: string; column: { [s: string]: EntitySchemaColumn; }; }