@gftdcojp/gftd-cli
Version:
GFTD Schema Management CLI - Drizzle-like schema management for Kafka and ksqlDB
69 lines • 2.34 kB
TypeScript
/**
* Database Manager - Supabase-like CLI with Drizzle-style migrations
* Comprehensive database management for GFTD CLI
*/
import { DBInitOptions, MigrationOptions, GenerateOptions, SchemaOptions } from '../types';
export declare class DatabaseManager {
private config;
private migrationsPath;
private schemasPath;
private seedsPath;
private configPath;
constructor(configPath?: string);
/**
* プロジェクトのデータベース初期化 (supabase init相当)
*/
init(options?: DBInitOptions): Promise<void>;
/**
* マイグレーション生成 (drizzle generate相当)
*/
generateMigration(name?: string, options?: MigrationOptions): Promise<void>;
/**
* マイグレーション実行 (supabase migration up相当)
*/
runMigrationsUp(options?: MigrationOptions): Promise<void>;
/**
* マイグレーション巻き戻し (supabase migration down相当)
*/
runMigrationsDown(options?: MigrationOptions): Promise<void>;
/**
* マイグレーション状態表示 (supabase migration list相当)
*/
listMigrations(): Promise<void>;
/**
* TypeScript型生成 (supabase gen types相当)
*/
generateTypes(options?: GenerateOptions): Promise<void>;
/**
* スキーマプル (supabase db pull相当)
*/
pullSchema(options?: SchemaOptions): Promise<void>;
/**
* スキーマプッシュ (supabase db push相当)
*/
pushSchema(options?: SchemaOptions): Promise<void>;
private loadDatabaseConfig;
private getDefaultConfig;
private createDirectoryStructure;
private createConfigFile;
private createSchemaTemplates;
private createInitialMigration;
private detectSchemaChanges;
private createMigrationFile;
private saveMigrationFile;
private getPendingMigrations;
private getAllMigrations;
private getAppliedMigrations;
private getDbConnection;
private closeDbConnection;
private executeMigration;
private recordMigration;
private removeMigrationRecord;
private getSchemaInfo;
private generateTypeDefinitions;
private generateSchemaCode;
private startTypeGenerationWatcher;
private runSeeders;
private confirmDangerousOperation;
}
//# sourceMappingURL=database-manager.d.ts.map