@deepbrainspace/nx-surrealdb
Version:
NX plugin for SurrealDB migrations with modular architecture
75 lines (74 loc) • 1.62 kB
TypeScript
export interface ModuleConfig {
name: string;
description: string;
version: string;
dependencies: string[];
migrations: ModuleMigration[];
tags: string[];
environments: string[];
locked?: boolean;
lockReason?: string;
}
export interface ModuleMigration {
id: string;
description: string;
timestamp: string;
}
export interface ApplicationConfig {
name: string;
description: string;
modules: string[];
customMigrations: string[];
environment: {
[env: string]: {
database: string;
namespace: string;
};
};
}
export interface SurrealDBConfig {
url?: string;
namespace?: string;
database?: string;
username?: string;
password?: string;
}
export interface Migration {
id?: string;
path: string;
filename: string;
number?: string;
name?: string;
direction: string;
content?: string;
module: string;
namespace?: string;
database?: string;
status: string;
checksum?: string;
applied_at?: Date;
applied_by?: string;
execution_time_ms?: number;
}
export interface MigrationRecord {
id?: string;
number: string;
name: string;
direction: string;
filename: string;
path: string;
content: string;
module: string;
namespace?: string;
database?: string;
checksum?: string;
status: 'success' | 'fail';
applied_at?: Date;
applied_by?: string;
execution_time_ms?: number;
}
export interface SurrealQueryResult {
result: unknown[];
status?: string;
[key: string]: unknown;
}