@boundless-oss/atlas
Version:
Atlas - MCP Server for comprehensive startup project management
101 lines • 2.38 kB
TypeScript
/**
* Data Migration System for Atlas
*
* Handles migration from pre-SQLite JSON-based data to SQLite database
* Ensures data integrity and provides rollback capabilities
*/
export interface MigrationResult {
success: boolean;
migratedFiles: string[];
errors: string[];
backupPath?: string;
summary: {
epics: number;
stories: number;
sprints: number;
other: number;
};
}
export interface LegacyEpic {
id: string;
title: string;
description: string;
status: string;
priority: string;
goals: string[];
createdAt: string;
updatedAt: string;
storyIds: string[];
stories: any[];
progress: number;
}
export interface LegacyStory {
id: string;
title: string;
description: string;
status: string;
priority: string;
storyPoints?: number;
epicId?: string;
sprintId?: string;
acceptanceCriteria?: any[];
assignee?: string;
createdAt: string;
updatedAt: string;
tags?: string[];
}
export interface LegacySprint {
id: string;
name: string;
goal: string;
status: string;
startDate: string;
endDate: string;
capacity?: number;
storyIds: string[];
createdAt: string;
updatedAt: string;
}
export declare class DataMigrationManager {
private atlasDir;
private dataDir;
private backupDir;
constructor();
/**
* Check if legacy data exists that needs migration
*/
detectLegacyData(): Promise<boolean>;
/**
* Create backup of existing data before migration
*/
createBackup(): Promise<string>;
/**
* Migrate all legacy data to SQLite
*/
migrateData(): Promise<MigrationResult>;
/**
* Migrate agile data (epics, stories, sprints)
*/
private migrateAgileData;
/**
* Migrate other data modules (workspace, business, etc.)
*/
private migrateOtherData;
/**
* Archive migrated files (move to archive directory)
*/
archiveMigratedFiles(migratedFiles: string[]): Promise<void>;
/**
* Read and parse JSON file
*/
private readJsonFile;
/**
* Copy directory recursively
*/
private copyDirectory;
}
/**
* Auto-migrate data on server startup if needed
*/
export declare function autoMigrateOnStartup(): Promise<void>;
//# sourceMappingURL=data-migration.d.ts.map