memento-mcp-server 1.9.2-a → 1.9.2-a2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/database/migration/dependency-validator.d.ts.map +1 -1
- package/dist/database/migration/dependency-validator.js +23 -0
- package/dist/database/migration/dependency-validator.js.map +1 -1
- package/dist/database/migration/migration-detector.d.ts.map +1 -1
- package/dist/database/migration/migration-detector.js +19 -5
- package/dist/database/migration/migration-detector.js.map +1 -1
- package/dist/database/migration/migrations/002-mirix-schema-expansion-core-memory.sql +42 -0
- package/dist/database/migration/migrations/002-mirix-schema-expansion-knowledge-vault.sql +48 -0
- package/dist/database/migration/migrations/002-mirix-schema-expansion-memory-item.sql +35 -0
- package/dist/database/migration/migrations/002-mirix-schema-expansion-schema-version.sql +30 -0
- package/dist/database/migration/migrations/002-mirix-schema-expansion.d.ts +1 -0
- package/dist/database/migration/migrations/002-mirix-schema-expansion.d.ts.map +1 -1
- package/dist/database/migration/migrations/002-mirix-schema-expansion.js +23 -15
- package/dist/database/migration/migrations/002-mirix-schema-expansion.js.map +1 -1
- package/dist/scripts/copy-assets.js +24 -1
- package/dist/scripts/copy-assets.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-validator.d.ts","sourceRoot":"","sources":["../../../src/database/migration/dependency-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAEtC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;WACU,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAqBpF;;OAEG;WACU,iCAAiC,CAC5C,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,OAAO,CAAC,0BAA0B,CAAC;IAmFtC;;OAEG;WACU,oBAAoB,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,OAAO,CAAC,0BAA0B,CAAC;IAmEtC;;OAEG;WACU,mBAAmB,CAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,OAAO,CAAC,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"dependency-validator.d.ts","sourceRoot":"","sources":["../../../src/database/migration/dependency-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAEtC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;WACU,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAqBpF;;OAEG;WACU,iCAAiC,CAC5C,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,OAAO,CAAC,0BAA0B,CAAC;IAmFtC;;OAEG;WACU,oBAAoB,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,OAAO,CAAC,0BAA0B,CAAC;IAmEtC;;OAEG;WACU,mBAAmB,CAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,OAAO,CAAC,0BAA0B,CAAC;CA6HvC"}
|
|
@@ -163,6 +163,29 @@ export class DependencyValidator {
|
|
|
163
163
|
*/
|
|
164
164
|
static async validateVECTriggers(db) {
|
|
165
165
|
try {
|
|
166
|
+
// 먼저 VEC 확장이 사용 가능한지 확인
|
|
167
|
+
let vecExtensionAvailable = false;
|
|
168
|
+
try {
|
|
169
|
+
const vecTable = db.prepare(`
|
|
170
|
+
SELECT name FROM sqlite_master
|
|
171
|
+
WHERE type='table' AND name LIKE '%vec%'
|
|
172
|
+
`).get();
|
|
173
|
+
vecExtensionAvailable = !!vecTable;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// VEC 확장이 없을 수 있음
|
|
177
|
+
vecExtensionAvailable = false;
|
|
178
|
+
}
|
|
179
|
+
// VEC 확장이 없으면 검증을 건너뜀 (선택적 의존성)
|
|
180
|
+
if (!vecExtensionAvailable) {
|
|
181
|
+
return {
|
|
182
|
+
name: 'vec_triggers',
|
|
183
|
+
success: true,
|
|
184
|
+
details: {
|
|
185
|
+
note: 'VEC extension not available, skipping trigger validation'
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
}
|
|
166
189
|
const requiredTriggers = [
|
|
167
190
|
'memory_embedding_vec_insert',
|
|
168
191
|
'memory_embedding_vec_update',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-validator.js","sourceRoot":"","sources":["../../../src/database/migration/dependency-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dependency-validator.js","sourceRoot":"","sources":["../../../src/database/migration/dependency-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-detector.d.ts","sourceRoot":"","sources":["../../../src/database/migration/migration-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAEvC;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAEvC;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,CAAC,EAAE,MAAM;IAIlC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-detector.d.ts","sourceRoot":"","sources":["../../../src/database/migration/migration-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAEvC;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAEvC;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,CAAC,EAAE,MAAM;IAIlC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuFzD;;OAEG;IACG,uBAAuB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA2BvF;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CAO7F"}
|
|
@@ -24,9 +24,12 @@ export class MigrationDetector {
|
|
|
24
24
|
async detectAllMigrations() {
|
|
25
25
|
const files = await readdir(this.migrationsDir);
|
|
26
26
|
// .ts와 .js 파일 모두 지원 (개발 환경: .ts, 빌드 환경: .js)
|
|
27
|
+
// .d.ts, .spec.ts, .spec.js 파일은 제외
|
|
27
28
|
const migrationFiles = files.filter(file => (file.endsWith('.ts') || file.endsWith('.js')) &&
|
|
29
|
+
!file.endsWith('.d.ts') &&
|
|
28
30
|
!file.endsWith('.spec.ts') &&
|
|
29
31
|
!file.endsWith('.spec.js') &&
|
|
32
|
+
!file.endsWith('.js.map') &&
|
|
30
33
|
/^\d{3}-/.test(file));
|
|
31
34
|
const migrations = [];
|
|
32
35
|
for (const file of migrationFiles) {
|
|
@@ -45,22 +48,33 @@ export class MigrationDetector {
|
|
|
45
48
|
const exportedKeys = Object.keys(module);
|
|
46
49
|
for (const key of exportedKeys) {
|
|
47
50
|
const exported = module[key];
|
|
48
|
-
//
|
|
49
|
-
if (typeof exported === 'function' && exported.prototype
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
// 클래스인지 확인 (함수이고 prototype이 있는 경우)
|
|
52
|
+
if (typeof exported === 'function' && exported.prototype) {
|
|
53
|
+
// 인스턴스를 생성해서 version과 up 메서드가 있는지 확인
|
|
54
|
+
try {
|
|
55
|
+
const testInstance = new exported();
|
|
56
|
+
if (testInstance && testInstance.version && typeof testInstance.up === 'function') {
|
|
57
|
+
MigrationClass = exported;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// 인스턴스 생성 실패 시 다음으로
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
53
65
|
}
|
|
54
66
|
}
|
|
55
67
|
}
|
|
56
68
|
if (!MigrationClass || typeof MigrationClass !== 'function') {
|
|
57
69
|
console.warn(`⚠️ 마이그레이션 파일 ${file}에서 유효한 마이그레이션 클래스를 찾을 수 없습니다.`);
|
|
70
|
+
console.warn(` 사용 가능한 exports: ${Object.keys(module).join(', ')}`);
|
|
58
71
|
continue;
|
|
59
72
|
}
|
|
60
73
|
// 클래스 인스턴스 생성
|
|
61
74
|
const migration = new MigrationClass();
|
|
62
75
|
if (!migration || !migration.version || !migration.up) {
|
|
63
76
|
console.warn(`⚠️ 마이그레이션 파일 ${file}에서 유효한 마이그레이션 인스턴스를 생성할 수 없습니다.`);
|
|
77
|
+
console.warn(` version: ${migration?.version}, up: ${typeof migration?.up}`);
|
|
64
78
|
continue;
|
|
65
79
|
}
|
|
66
80
|
const versionNumber = this.parseVersionNumber(migration.version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-detector.js","sourceRoot":"","sources":["../../../src/database/migration/migration-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AA0CtC;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACpB,aAAa,CAAS;IAE9B,YAAY,aAAsB;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,6CAA6C;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB,CAAC;QAEF,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAChD,yDAAyD;gBACzD,8BAA8B;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACrC,CAAC,CAAC,QAAQ,CAAE,mBAAmB;oBAC/B,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAE,0BAA0B;gBACrD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBAExC,oCAAoC;gBACpC,IAAI,cAAc,GAAQ,MAAM,CAAC,OAAO,CAAC;gBAEzC,kCAAkC;gBAClC,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;oBAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACzC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;wBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC7B,
|
|
1
|
+
{"version":3,"file":"migration-detector.js","sourceRoot":"","sources":["../../../src/database/migration/migration-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
-- Migration: 002 - MIRIX Schema Expansion - Core Memory Table
|
|
2
|
+
-- Description: Create core_memory table for storing agent's core persona, instructions, and identity data
|
|
3
|
+
-- Version: 002
|
|
4
|
+
-- Date: 2025-01-XX
|
|
5
|
+
|
|
6
|
+
-- Core Memory 테이블 생성
|
|
7
|
+
-- Core Memory는 에이전트의 핵심 정체성, 지침, 인격 데이터를 저장합니다.
|
|
8
|
+
-- always_load=true인 항목은 서버 시작 시 자동으로 로드되어 메모리에 유지됩니다.
|
|
9
|
+
|
|
10
|
+
PRAGMA foreign_keys = OFF;
|
|
11
|
+
BEGIN TRANSACTION;
|
|
12
|
+
|
|
13
|
+
CREATE TABLE IF NOT EXISTS core_memory (
|
|
14
|
+
core_id TEXT PRIMARY KEY,
|
|
15
|
+
agent_id TEXT NOT NULL DEFAULT 'default',
|
|
16
|
+
key TEXT NOT NULL,
|
|
17
|
+
value TEXT NOT NULL,
|
|
18
|
+
always_load BOOLEAN NOT NULL DEFAULT 0,
|
|
19
|
+
origin_source TEXT, -- JSON 형식: {"tool": "remember", "caller": "user", "timestamp": "...", "context": {...}}
|
|
20
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
21
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
22
|
+
UNIQUE(agent_id, key)
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
-- 인덱스 생성
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_core_memory_agent_id ON core_memory(agent_id);
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_core_memory_key ON core_memory(key);
|
|
28
|
+
CREATE INDEX IF NOT EXISTS idx_core_memory_created_at ON core_memory(created_at);
|
|
29
|
+
CREATE INDEX IF NOT EXISTS idx_core_memory_always_load ON core_memory(always_load);
|
|
30
|
+
|
|
31
|
+
-- updated_at 자동 업데이트 트리거
|
|
32
|
+
CREATE TRIGGER IF NOT EXISTS core_memory_update_timestamp
|
|
33
|
+
AFTER UPDATE ON core_memory
|
|
34
|
+
BEGIN
|
|
35
|
+
UPDATE core_memory
|
|
36
|
+
SET updated_at = CURRENT_TIMESTAMP
|
|
37
|
+
WHERE core_id = NEW.core_id;
|
|
38
|
+
END;
|
|
39
|
+
|
|
40
|
+
COMMIT;
|
|
41
|
+
PRAGMA foreign_keys = ON;
|
|
42
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
-- Migration: 002 - MIRIX Schema Expansion - Knowledge Vault Table
|
|
2
|
+
-- Description: Create knowledge_vault table for storing immutable knowledge data
|
|
3
|
+
-- Version: 002
|
|
4
|
+
-- Date: 2025-01-XX
|
|
5
|
+
|
|
6
|
+
-- Knowledge Vault 테이블 생성
|
|
7
|
+
-- Knowledge Vault는 변경 불가능한 영구 지식 저장소입니다.
|
|
8
|
+
-- immutable=true인 경우 업데이트/삭제가 제한되며, 버전 관리가 가능합니다.
|
|
9
|
+
-- 향후 확장 필드(admin_override, deleted_at)는 스키마만 준비하고 실제 로직은 후속 작업으로 진행합니다.
|
|
10
|
+
|
|
11
|
+
PRAGMA foreign_keys = OFF;
|
|
12
|
+
BEGIN TRANSACTION;
|
|
13
|
+
|
|
14
|
+
CREATE TABLE IF NOT EXISTS knowledge_vault (
|
|
15
|
+
vault_id TEXT PRIMARY KEY,
|
|
16
|
+
agent_id TEXT NOT NULL DEFAULT 'default',
|
|
17
|
+
key TEXT NOT NULL,
|
|
18
|
+
value TEXT NOT NULL,
|
|
19
|
+
immutable BOOLEAN NOT NULL DEFAULT 1,
|
|
20
|
+
version INTEGER NOT NULL DEFAULT 1,
|
|
21
|
+
previous_version_id TEXT, -- 이전 버전의 vault_id 참조
|
|
22
|
+
admin_override BOOLEAN NOT NULL DEFAULT 0, -- 향후 관리자 Override 기능용 (Phase 2)
|
|
23
|
+
deleted_at TIMESTAMP, -- 향후 Soft Delete 기능용 (Phase 2)
|
|
24
|
+
origin_source TEXT, -- JSON 형식: {"tool": "remember", "caller": "user", "timestamp": "...", "context": {...}}
|
|
25
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
26
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
27
|
+
UNIQUE(agent_id, key, version)
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
-- 인덱스 생성
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_knowledge_vault_agent_id ON knowledge_vault(agent_id);
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_knowledge_vault_key ON knowledge_vault(key);
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_knowledge_vault_version ON knowledge_vault(version);
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_knowledge_vault_deleted_at ON knowledge_vault(deleted_at);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_knowledge_vault_agent_key ON knowledge_vault(agent_id, key);
|
|
36
|
+
|
|
37
|
+
-- updated_at 자동 업데이트 트리거
|
|
38
|
+
CREATE TRIGGER IF NOT EXISTS knowledge_vault_update_timestamp
|
|
39
|
+
AFTER UPDATE ON knowledge_vault
|
|
40
|
+
BEGIN
|
|
41
|
+
UPDATE knowledge_vault
|
|
42
|
+
SET updated_at = CURRENT_TIMESTAMP
|
|
43
|
+
WHERE vault_id = NEW.vault_id;
|
|
44
|
+
END;
|
|
45
|
+
|
|
46
|
+
COMMIT;
|
|
47
|
+
PRAGMA foreign_keys = ON;
|
|
48
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
-- Migration: 002 - MIRIX Schema Expansion - Memory Item Table Fields
|
|
2
|
+
-- Description: Add new fields to memory_item table (origin_source, task_goal, steps, reflection_notes)
|
|
3
|
+
-- Version: 002
|
|
4
|
+
-- Date: 2025-01-XX
|
|
5
|
+
|
|
6
|
+
-- memory_item 테이블에 새 필드 추가
|
|
7
|
+
-- origin_source: 모든 메모리 타입에 사용되는 데이터 출처 추적 필드 (JSON 형식)
|
|
8
|
+
-- task_goal, steps, reflection_notes: Procedural Memory 전용 필드
|
|
9
|
+
|
|
10
|
+
PRAGMA foreign_keys = OFF;
|
|
11
|
+
BEGIN TRANSACTION;
|
|
12
|
+
|
|
13
|
+
-- origin_source 필드 추가 (JSON 형식, 모든 메모리 타입에 사용)
|
|
14
|
+
-- 형식: {"tool": "remember", "caller": "user|system|reflexion_worker", "timestamp": "...", "context": {...}}
|
|
15
|
+
ALTER TABLE memory_item ADD COLUMN origin_source TEXT;
|
|
16
|
+
|
|
17
|
+
-- task_goal 필드 추가 (Procedural Memory 전용, 작업 목표)
|
|
18
|
+
ALTER TABLE memory_item ADD COLUMN task_goal TEXT;
|
|
19
|
+
|
|
20
|
+
-- steps 필드 추가 (Procedural Memory 전용, JSON 배열 형식)
|
|
21
|
+
-- 예시: "[\"step1\", \"step2\", \"step3\"]"
|
|
22
|
+
ALTER TABLE memory_item ADD COLUMN steps TEXT;
|
|
23
|
+
|
|
24
|
+
-- reflection_notes 필드 추가 (Procedural Memory 전용, JSON 형식)
|
|
25
|
+
-- 예시: {"failure_type": "tool_error", "failure_description": "...", "lessons_learned": "...", ...}
|
|
26
|
+
ALTER TABLE memory_item ADD COLUMN reflection_notes TEXT;
|
|
27
|
+
|
|
28
|
+
-- 기존 데이터의 origin_source 필드 기본값 설정 (NULL → 빈 JSON 객체)
|
|
29
|
+
UPDATE memory_item
|
|
30
|
+
SET origin_source = '{}'
|
|
31
|
+
WHERE origin_source IS NULL;
|
|
32
|
+
|
|
33
|
+
COMMIT;
|
|
34
|
+
PRAGMA foreign_keys = ON;
|
|
35
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-- Migration: 002 - MIRIX Schema Expansion - Schema Version Table
|
|
2
|
+
-- Description: Create memento_schema_version table for tracking database schema versions
|
|
3
|
+
-- Version: 002
|
|
4
|
+
-- Date: 2025-01-XX
|
|
5
|
+
|
|
6
|
+
-- memento_schema_version 테이블 생성
|
|
7
|
+
-- 스키마 버전 관리를 위한 메타데이터 테이블입니다.
|
|
8
|
+
-- 클라이언트가 지원하는 기능을 확인하고, 마이그레이션 상태를 추적하는 데 사용됩니다.
|
|
9
|
+
|
|
10
|
+
PRAGMA foreign_keys = OFF;
|
|
11
|
+
BEGIN TRANSACTION;
|
|
12
|
+
|
|
13
|
+
CREATE TABLE IF NOT EXISTS memento_schema_version (
|
|
14
|
+
version TEXT PRIMARY KEY, -- 스키마 버전 (예: "1.0", "2.0")
|
|
15
|
+
applied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 적용 시간
|
|
16
|
+
migration_name TEXT NOT NULL, -- 마이그레이션 이름 (예: "mirix-schema-expansion")
|
|
17
|
+
checksum TEXT, -- 마이그레이션 스크립트 체크섬 (선택적, 무결성 검증용)
|
|
18
|
+
applied_by TEXT DEFAULT 'system', -- 적용한 사용자/시스템
|
|
19
|
+
description TEXT -- 스키마 버전 설명 (선택적)
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
-- 인덱스 생성
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_schema_version_applied_at ON memento_schema_version(applied_at);
|
|
24
|
+
|
|
25
|
+
-- Note: Initial schema version (1.0) should be recorded separately, not in migration SQL
|
|
26
|
+
-- MigrationRunner will record the migration version (2.0) after successful execution
|
|
27
|
+
|
|
28
|
+
COMMIT;
|
|
29
|
+
PRAGMA foreign_keys = ON;
|
|
30
|
+
|
|
@@ -25,6 +25,7 @@ export declare class MirixSchemaExpansionMigration implements Migration {
|
|
|
25
25
|
private loadSQLFile;
|
|
26
26
|
/**
|
|
27
27
|
* Execute SQL script
|
|
28
|
+
* Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
|
|
28
29
|
*/
|
|
29
30
|
private executeSQL;
|
|
30
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"002-mirix-schema-expansion.d.ts","sourceRoot":"","sources":["../../../../src/database/migration/migrations/002-mirix-schema-expansion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C;;;;;;;;GAQG;AACH,qBAAa,6BAA8B,YAAW,SAAS;IAC7D,OAAO,SAAS;IAChB,IAAI,SAA4B;IAChC,WAAW,SAAsH;IAEjI;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB
|
|
1
|
+
{"version":3,"file":"002-mirix-schema-expansion.d.ts","sourceRoot":"","sources":["../../../../src/database/migration/migrations/002-mirix-schema-expansion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C;;;;;;;;GAQG;AACH,qBAAa,6BAA8B,YAAW,SAAS;IAC7D,OAAO,SAAS;IAChB,IAAI,SAA4B;IAChC,WAAW,SAAsH;IAEjI;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1D;;OAEG;IACG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhD;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAsC1D"}
|
|
@@ -20,7 +20,7 @@ const __dirname = dirname(__filename);
|
|
|
20
20
|
* 4. Creates memento_schema_version table for schema version tracking
|
|
21
21
|
*/
|
|
22
22
|
export class MirixSchemaExpansionMigration {
|
|
23
|
-
version = '
|
|
23
|
+
version = '2.0'; // 스키마 버전과 일치하도록 변경 (002 -> 2.0)
|
|
24
24
|
name = 'mirix-schema-expansion';
|
|
25
25
|
description = 'Expand Memento schema to support MIRIX-based 5-memory architecture (Core, Episodic, Semantic, Procedural, Vault)';
|
|
26
26
|
/**
|
|
@@ -32,9 +32,26 @@ export class MirixSchemaExpansionMigration {
|
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Execute SQL script
|
|
35
|
+
* Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
|
|
35
36
|
*/
|
|
36
37
|
executeSQL(db, sql) {
|
|
37
|
-
|
|
38
|
+
// MigrationRunner가 트랜잭션을 관리하므로 SQL에서 트랜잭션 명령 제거
|
|
39
|
+
let cleanedSQL = sql
|
|
40
|
+
// BEGIN TRANSACTION 제거
|
|
41
|
+
.replace(/BEGIN\s+TRANSACTION\s*;/gi, '')
|
|
42
|
+
// COMMIT 제거
|
|
43
|
+
.replace(/COMMIT\s*;/gi, '')
|
|
44
|
+
// PRAGMA foreign_keys 명령은 유지 (트랜잭션 외부에서도 작동)
|
|
45
|
+
.trim();
|
|
46
|
+
// 빈 줄 제거 및 정리
|
|
47
|
+
cleanedSQL = cleanedSQL
|
|
48
|
+
.split('\n')
|
|
49
|
+
.map(line => line.trim())
|
|
50
|
+
.filter(line => line.length > 0)
|
|
51
|
+
.join('\n');
|
|
52
|
+
if (cleanedSQL.length > 0) {
|
|
53
|
+
db.exec(cleanedSQL);
|
|
54
|
+
}
|
|
38
55
|
}
|
|
39
56
|
/**
|
|
40
57
|
* Check if table exists
|
|
@@ -87,12 +104,8 @@ export class MirixSchemaExpansionMigration {
|
|
|
87
104
|
// 4. Add new fields to memory_item table
|
|
88
105
|
const memoryItemSQL = this.loadSQLFile('002-mirix-schema-expansion-memory-item.sql');
|
|
89
106
|
this.executeSQL(db, memoryItemSQL);
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
INSERT OR REPLACE INTO memento_schema_version
|
|
93
|
-
(version, migration_name, description, applied_by)
|
|
94
|
-
VALUES (?, ?, ?, ?)
|
|
95
|
-
`).run('2.0', this.name, this.description, 'system');
|
|
107
|
+
// Note: Schema version is recorded by MigrationRunner, not here
|
|
108
|
+
// MigrationRunner.recordVersion() will be called after successful migration
|
|
96
109
|
}
|
|
97
110
|
/**
|
|
98
111
|
* Rollback migration (Down)
|
|
@@ -133,13 +146,8 @@ export class MirixSchemaExpansionMigration {
|
|
|
133
146
|
throw new Error(`Column ${column} was not added to memory_item table`);
|
|
134
147
|
}
|
|
135
148
|
}
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
SELECT version FROM memento_schema_version WHERE version = ?
|
|
139
|
-
`).get('2.0');
|
|
140
|
-
if (!version) {
|
|
141
|
-
throw new Error('Schema version 2.0 was not recorded');
|
|
142
|
-
}
|
|
149
|
+
// Note: Schema version recording is handled by MigrationRunner after validateAfter
|
|
150
|
+
// We only verify that the schema changes were applied correctly
|
|
143
151
|
// Verify existing dependencies are intact using DependencyValidator
|
|
144
152
|
const dependencyReport = await DependencyValidator.validateAll(db);
|
|
145
153
|
if (!dependencyReport.success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"002-mirix-schema-expansion.js","sourceRoot":"","sources":["../../../../src/database/migration/migrations/002-mirix-schema-expansion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA6B;IACxC,OAAO,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"002-mirix-schema-expansion.js","sourceRoot":"","sources":["../../../../src/database/migration/migrations/002-mirix-schema-expansion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA6B;IACxC,OAAO,GAAG,KAAK,CAAC,CAAE,gCAAgC;IAClD,IAAI,GAAG,wBAAwB,CAAC;IAChC,WAAW,GAAG,kHAAkH,CAAC;IAEjI;;OAEG;IACK,WAAW,CAAC,QAAgB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,EAAqB,EAAE,GAAW;QACnD,gDAAgD;QAChD,IAAI,UAAU,GAAG,GAAG;YAClB,uBAAuB;aACtB,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACzC,YAAY;aACX,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5B,6CAA6C;aAC5C,IAAI,EAAE,CAAC;QAEV,cAAc;QACd,UAAU,GAAG,UAAU;aACpB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,EAAqB,EAAE,SAAiB;QAC1D,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGzB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,EAAqB,EAAE,SAAiB,EAAE,UAAkB;QAC/E,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,SAAS,GAAG,CAAC,CAAC,GAAG,EAA6B,CAAC;QAC/F,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,EAAqB;QACxC,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,wBAAwB,CAAC,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;;OAE1B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAoC,CAAC;YAEjD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,EAAqB;QAC5B,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAEtC,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QACrF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAEnC,kCAAkC;QAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAEvC,yCAAyC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QACrF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAEnC,gEAAgE;QAChE,4EAA4E;IAC9E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAqB;QAC9B,4BAA4B;QAE5B,8CAA8C;QAC9C,yEAAyE;QACzE,yDAAyD;QAEzD,gCAAgC;QAChC,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAEhD,4BAA4B;QAC5B,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAE5C,kCAAkC;QAClC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE9E,mEAAmE;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,EAAqB;QACvC,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,wBAAwB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,0CAA0C;QAC1C,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACpF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,qCAAqC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,gEAAgE;QAEhE,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO;iBACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;iBACjC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { existsSync, mkdirSync, copyFileSync } from 'fs';
|
|
2
|
+
import { existsSync, mkdirSync, copyFileSync, readdirSync } from 'fs';
|
|
3
3
|
import { dirname, join } from 'path';
|
|
4
4
|
import { fileURLToPath } from 'url';
|
|
5
5
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -7,8 +7,10 @@ const __dirname = dirname(__filename);
|
|
|
7
7
|
// 프로젝트 루트 디렉토리 경로
|
|
8
8
|
const projectRoot = join(__dirname, '..', '..');
|
|
9
9
|
const distDatabaseDir = join(projectRoot, 'dist', 'database');
|
|
10
|
+
const distMigrationDir = join(distDatabaseDir, 'migration', 'migrations');
|
|
10
11
|
const sourceSchemaFile = join(projectRoot, 'src', 'database', 'schema.sql');
|
|
11
12
|
const targetSchemaFile = join(distDatabaseDir, 'schema.sql');
|
|
13
|
+
const sourceMigrationDir = join(projectRoot, 'src', 'database', 'migration', 'migrations');
|
|
12
14
|
try {
|
|
13
15
|
// dist/database 디렉토리가 없으면 생성
|
|
14
16
|
if (!existsSync(distDatabaseDir)) {
|
|
@@ -23,6 +25,27 @@ try {
|
|
|
23
25
|
// schema.sql 파일 복사
|
|
24
26
|
copyFileSync(sourceSchemaFile, targetSchemaFile);
|
|
25
27
|
console.log('✅ Copied schema.sql to dist/database/');
|
|
28
|
+
// 마이그레이션 SQL 파일 복사
|
|
29
|
+
if (existsSync(sourceMigrationDir)) {
|
|
30
|
+
// dist/database/migration/migrations 디렉토리 생성
|
|
31
|
+
if (!existsSync(distMigrationDir)) {
|
|
32
|
+
mkdirSync(distMigrationDir, { recursive: true });
|
|
33
|
+
console.log('✅ Created dist/database/migration/migrations directory');
|
|
34
|
+
}
|
|
35
|
+
// SQL 파일만 복사 (.sql 확장자만)
|
|
36
|
+
const files = readdirSync(sourceMigrationDir);
|
|
37
|
+
const sqlFiles = files.filter(file => file.endsWith('.sql'));
|
|
38
|
+
let copiedCount = 0;
|
|
39
|
+
for (const file of sqlFiles) {
|
|
40
|
+
const sourceFile = join(sourceMigrationDir, file);
|
|
41
|
+
const targetFile = join(distMigrationDir, file);
|
|
42
|
+
copyFileSync(sourceFile, targetFile);
|
|
43
|
+
copiedCount++;
|
|
44
|
+
}
|
|
45
|
+
if (copiedCount > 0) {
|
|
46
|
+
console.log(`✅ Copied ${copiedCount} migration SQL file(s) to dist/database/migration/migrations/`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
26
49
|
}
|
|
27
50
|
catch (error) {
|
|
28
51
|
console.error('❌ Error copying assets:', error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-assets.js","sourceRoot":"","sources":["../../src/scripts/copy-assets.js"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"copy-assets.js","sourceRoot":"","sources":["../../src/scripts/copy-assets.js"],"names":[],"mappings":"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"}
|