sql-ddl-to-json-schema
Version:
Parse and convert SQL DDL statements to a JSON Schema.
65 lines (64 loc) • 1.92 kB
TypeScript
import { TableOptionsInterface, P_CREATE_TABLE_OPTIONS, O_CREATE_TABLE_OPTION } from '../../../../typings';
import { TableOptionsModelInterface } from './typings';
/**
* Class to represent table options as parsed from SQL.
*/
export declare class TableOptions implements TableOptionsModelInterface {
autoincrement?: number;
avgRowLength?: number;
charset?: string;
checksum?: number;
collation?: string;
comment?: string;
compression?: string;
connection?: string;
dataDirectory?: string;
indexDirectory?: string;
delayKeyWrite?: number;
encryption?: string;
encryptionKeyId?: number;
ietfQuotes?: string;
engine?: string;
insertMethod?: string;
keyBlockSize?: number;
maxRows?: number;
minRows?: number;
packKeys?: string | number;
pageChecksum?: number;
password?: string;
rowFormat?: string;
statsAutoRecalc?: string | number;
statsPersistent?: string | number;
statsSamplePages?: string | number;
transactional?: number;
withSystemVersioning?: boolean;
tablespaceName?: string;
tablespaceStorage?: string;
union?: string[];
/**
* Creates table options from a JSON def.
*
* @param json JSON format parsed from SQL.
*/
static fromDef(json: P_CREATE_TABLE_OPTIONS): TableOptions;
/**
* Creates table options instance from an array of options.
*
* @param options JSON format parsed from SQL.
*/
static fromArray(options: O_CREATE_TABLE_OPTION[]): TableOptions;
/**
* JSON casting of this object calls this method.
*
*/
toJSON(): TableOptionsInterface;
/**
* Create a deep clone of this model.
*/
clone(): TableOptions;
/**
* Merge this option instance with another one.
* Common properties of this instance are overwritten.
*/
mergeWith(options: TableOptionsInterface): void;
}