/** * Database ORM Enumerations * Defines all enum types used across the database module */ /** * Supported database types */ export declare enum DatabaseType { POSTGRESQL = "postgresql", MYSQL = "mysql", MONGODB = "mongodb", DYNAMODB = "dynamodb", MARIADB = "mariadb", CASSANDRA = "cassandra" } /** * Column data types supported across databases */ export declare enum ColumnType { INTEGER = "INTEGER", BIGINT = "BIGINT", SMALLINT = "SMALLINT", TINYINT = "TINYINT", FLOAT = "FLOAT", DOUBLE = "DOUBLE", DECIMAL = "DECIMAL", NUMERIC = "NUMERIC", STRING = "STRING", VARCHAR = "VARCHAR", CHAR = "CHAR", TEXT = "TEXT", MEDIUMTEXT = "MEDIUMTEXT", LONGTEXT = "LONGTEXT", BOOLEAN = "BOOLEAN", DATE = "DATE", TIME = "TIME", DATETIME = "DATETIME", TIMESTAMP = "TIMESTAMP", TIMESTAMPTZ = "TIMESTAMPTZ", JSON = "JSON", JSONB = "JSONB", BINARY = "BINARY", VARBINARY = "VARBINARY", BLOB = "BLOB", BYTEA = "BYTEA", UUID = "UUID", ENUM = "ENUM", ARRAY = "ARRAY", SET = "SET", POINT = "POINT", LINE = "LINE", POLYGON = "POLYGON", GEOMETRY = "GEOMETRY", INET = "INET", CIDR = "CIDR", MACADDR = "MACADDR", TSVECTOR = "TSVECTOR", TSQUERY = "TSQUERY", OBJECTID = "OBJECTID", STRING_SET = "STRING_SET", NUMBER_SET = "NUMBER_SET", BINARY_SET = "BINARY_SET", MAP = "MAP", LIST = "LIST", COUNTER = "COUNTER", TIMEUUID = "TIMEUUID", VARINT = "VARINT", FROZEN = "FROZEN" } /** * Index types supported by various databases */ export declare enum IndexType { BTREE = "BTREE", HASH = "HASH", GIN = "GIN", GIST = "GIST", SPGIST = "SPGIST", BRIN = "BRIN", FULLTEXT = "FULLTEXT", SPATIAL = "SPATIAL", TEXT = "TEXT", GEOSPATIAL_2D = "2d", GEOSPATIAL_2DSPHERE = "2dsphere", HASHED = "HASHED", GSI = "GSI",// Global Secondary Index LSI = "LSI",// Local Secondary Index SASI = "SASI", CUSTOM = "CUSTOM" } /** * Sort order for ORDER BY clauses */ export declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** * Transaction isolation levels */ export declare enum IsolationLevel { READ_UNCOMMITTED = "READ_UNCOMMITTED", READ_COMMITTED = "READ_COMMITTED", REPEATABLE_READ = "REPEATABLE_READ", SERIALIZABLE = "SERIALIZABLE" } /** * Types of database actions for reusable templates */ export declare enum DatabaseActionType { QUERY = "QUERY", INSERT = "INSERT", UPDATE = "UPDATE", DELETE = "DELETE", UPSERT = "UPSERT", AGGREGATE = "AGGREGATE", RAW_SQL = "RAW_SQL" } /** * Types of schema alterations */ export declare enum AlterationType { ADD = "ADD", MODIFY = "MODIFY", DROP = "DROP", RENAME = "RENAME" } /** * Types of relationships for includes/joins */ export declare enum RelationshipType { ONE_TO_ONE = "one-to-one", ONE_TO_MANY = "one-to-many", MANY_TO_ONE = "many-to-one", MANY_TO_MANY = "many-to-many" } /** * Actions to take on conflict during insert */ export declare enum ConflictAction { UPDATE = "update", IGNORE = "ignore" } /** * Database error types for typed error handling */ export declare enum DatabaseErrorType { CONNECTION_ERROR = "CONNECTION_ERROR", QUERY_ERROR = "QUERY_ERROR", UNIQUE_VIOLATION = "UNIQUE_VIOLATION", FOREIGN_KEY_VIOLATION = "FOREIGN_KEY_VIOLATION", NOT_NULL_VIOLATION = "NOT_NULL_VIOLATION", CHECK_VIOLATION = "CHECK_VIOLATION", TRANSACTION_ERROR = "TRANSACTION_ERROR", TIMEOUT_ERROR = "TIMEOUT_ERROR", AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR", PERMISSION_ERROR = "PERMISSION_ERROR", SCHEMA_ERROR = "SCHEMA_ERROR", MIGRATION_ERROR = "MIGRATION_ERROR", VALIDATION_ERROR = "VALIDATION_ERROR", NOT_FOUND = "NOT_FOUND", UNKNOWN_ERROR = "UNKNOWN_ERROR", NOT_SUPPORTED = "NOT_SUPPORTED", CONFIGURATION_ERROR = "CONFIGURATION_ERROR" } /** * Status of a migration */ export declare enum MigrationStatus { PENDING = "pending", APPLIED = "applied", FAILED = "failed", ROLLED_BACK = "rolled_back" } /** * Types of database constraints */ export declare enum ConstraintType { PRIMARY_KEY = "PRIMARY_KEY", FOREIGN_KEY = "FOREIGN_KEY", UNIQUE = "UNIQUE", CHECK = "CHECK", NOT_NULL = "NOT_NULL", DEFAULT = "DEFAULT" } /** * Referential actions for foreign keys */ export declare enum ReferentialAction { CASCADE = "CASCADE", SET_NULL = "SET_NULL", SET_DEFAULT = "SET_DEFAULT", RESTRICT = "RESTRICT", NO_ACTION = "NO_ACTION" }