kythia-core 0.11.1-beta → 0.12.0-beta

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.
Files changed (260) hide show
  1. package/dist/Kythia.d.ts +45 -0
  2. package/dist/Kythia.d.ts.map +1 -0
  3. package/dist/Kythia.js +443 -0
  4. package/dist/Kythia.js.map +1 -0
  5. package/dist/KythiaClient.d.ts +3 -0
  6. package/dist/KythiaClient.d.ts.map +1 -0
  7. package/dist/KythiaClient.js +69 -0
  8. package/dist/KythiaClient.js.map +1 -0
  9. package/dist/cli/Command.d.ts +9 -0
  10. package/dist/cli/Command.d.ts.map +1 -0
  11. package/dist/cli/Command.js +19 -0
  12. package/dist/cli/Command.js.map +1 -0
  13. package/dist/cli/commands/CacheClearCommand.d.ts +8 -0
  14. package/dist/cli/commands/CacheClearCommand.d.ts.map +1 -0
  15. package/dist/cli/commands/CacheClearCommand.js +94 -0
  16. package/dist/cli/commands/CacheClearCommand.js.map +1 -0
  17. package/dist/cli/commands/LangCheckCommand.d.ts +7 -0
  18. package/dist/cli/commands/LangCheckCommand.d.ts.map +1 -0
  19. package/dist/cli/commands/LangCheckCommand.js +345 -0
  20. package/dist/cli/commands/LangCheckCommand.js.map +1 -0
  21. package/dist/cli/commands/LangTranslateCommand.d.ts +8 -0
  22. package/dist/cli/commands/LangTranslateCommand.d.ts.map +1 -0
  23. package/dist/cli/commands/LangTranslateCommand.js +221 -0
  24. package/dist/cli/commands/LangTranslateCommand.js.map +1 -0
  25. package/dist/cli/commands/MakeMigrationCommand.d.ts +7 -0
  26. package/dist/cli/commands/MakeMigrationCommand.d.ts.map +1 -0
  27. package/dist/cli/commands/MakeMigrationCommand.js +55 -0
  28. package/dist/cli/commands/MakeMigrationCommand.js.map +1 -0
  29. package/dist/cli/commands/MakeModelCommand.d.ts +7 -0
  30. package/dist/cli/commands/MakeModelCommand.d.ts.map +1 -0
  31. package/dist/cli/commands/MakeModelCommand.js +56 -0
  32. package/dist/cli/commands/MakeModelCommand.js.map +1 -0
  33. package/dist/cli/commands/MigrateCommand.d.ts +14 -0
  34. package/dist/cli/commands/MigrateCommand.d.ts.map +1 -0
  35. package/dist/cli/commands/MigrateCommand.js +190 -0
  36. package/dist/cli/commands/MigrateCommand.js.map +1 -0
  37. package/dist/cli/commands/NamespaceCommand.d.ts +7 -0
  38. package/dist/cli/commands/NamespaceCommand.d.ts.map +1 -0
  39. package/dist/cli/commands/NamespaceCommand.js +92 -0
  40. package/dist/cli/commands/NamespaceCommand.js.map +1 -0
  41. package/dist/cli/commands/StructureCommand.d.ts +7 -0
  42. package/dist/cli/commands/StructureCommand.d.ts.map +1 -0
  43. package/dist/cli/commands/StructureCommand.js +51 -0
  44. package/dist/cli/commands/StructureCommand.js.map +1 -0
  45. package/dist/cli/commands/UpversionCommand.d.ts +7 -0
  46. package/dist/cli/commands/UpversionCommand.d.ts.map +1 -0
  47. package/dist/cli/commands/UpversionCommand.js +68 -0
  48. package/dist/cli/commands/UpversionCommand.js.map +1 -0
  49. package/dist/cli/index.d.ts +3 -0
  50. package/dist/cli/index.d.ts.map +1 -0
  51. package/dist/cli/index.js +44 -0
  52. package/dist/cli/index.js.map +1 -0
  53. package/dist/cli/utils/db.d.ts +9 -0
  54. package/dist/cli/utils/db.d.ts.map +1 -0
  55. package/dist/cli/utils/db.js +90 -0
  56. package/dist/cli/utils/db.js.map +1 -0
  57. package/dist/database/KythiaMigrator.d.ts +4 -0
  58. package/dist/database/KythiaMigrator.d.ts.map +1 -0
  59. package/dist/database/KythiaMigrator.js +94 -0
  60. package/dist/database/KythiaMigrator.js.map +1 -0
  61. package/dist/database/KythiaModel.d.ts +83 -0
  62. package/dist/database/KythiaModel.d.ts.map +1 -0
  63. package/dist/database/KythiaModel.js +1121 -0
  64. package/dist/database/KythiaModel.js.map +1 -0
  65. package/dist/database/KythiaSequelize.d.ts +4 -0
  66. package/dist/database/KythiaSequelize.d.ts.map +1 -0
  67. package/dist/database/KythiaSequelize.js +99 -0
  68. package/dist/database/KythiaSequelize.js.map +1 -0
  69. package/dist/database/KythiaStorage.d.ts +21 -0
  70. package/dist/database/KythiaStorage.d.ts.map +1 -0
  71. package/dist/database/KythiaStorage.js +80 -0
  72. package/dist/database/KythiaStorage.js.map +1 -0
  73. package/dist/database/ModelLoader.d.ts +4 -0
  74. package/dist/database/ModelLoader.d.ts.map +1 -0
  75. package/dist/database/ModelLoader.js +54 -0
  76. package/dist/database/ModelLoader.js.map +1 -0
  77. package/dist/index.d.ts +10 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/index.js +36 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/lang/en.json +85 -0
  82. package/dist/managers/AddonManager.d.ts +45 -0
  83. package/dist/managers/AddonManager.d.ts.map +1 -0
  84. package/dist/managers/AddonManager.js +932 -0
  85. package/dist/managers/AddonManager.js.map +1 -0
  86. package/dist/managers/EventManager.d.ts +19 -0
  87. package/dist/managers/EventManager.d.ts.map +1 -0
  88. package/dist/managers/EventManager.js +55 -0
  89. package/dist/managers/EventManager.js.map +1 -0
  90. package/dist/managers/InteractionManager.d.ts +41 -0
  91. package/dist/managers/InteractionManager.d.ts.map +1 -0
  92. package/dist/managers/InteractionManager.js +441 -0
  93. package/dist/managers/InteractionManager.js.map +1 -0
  94. package/dist/managers/MiddlewareManager.d.ts +14 -0
  95. package/dist/managers/MiddlewareManager.d.ts.map +1 -0
  96. package/dist/managers/MiddlewareManager.js +75 -0
  97. package/dist/managers/MiddlewareManager.js.map +1 -0
  98. package/dist/managers/ShutdownManager.d.ts +22 -0
  99. package/dist/managers/ShutdownManager.d.ts.map +1 -0
  100. package/dist/managers/ShutdownManager.js +151 -0
  101. package/dist/managers/ShutdownManager.js.map +1 -0
  102. package/dist/managers/TranslatorManager.d.ts +19 -0
  103. package/dist/managers/TranslatorManager.d.ts.map +1 -0
  104. package/dist/managers/TranslatorManager.js +118 -0
  105. package/dist/managers/TranslatorManager.js.map +1 -0
  106. package/dist/middlewares/botPermissions.d.ts +4 -0
  107. package/dist/middlewares/botPermissions.d.ts.map +1 -0
  108. package/dist/middlewares/botPermissions.js +28 -0
  109. package/dist/middlewares/botPermissions.js.map +1 -0
  110. package/dist/middlewares/cooldown.d.ts +4 -0
  111. package/dist/middlewares/cooldown.d.ts.map +1 -0
  112. package/dist/middlewares/cooldown.js +42 -0
  113. package/dist/middlewares/cooldown.js.map +1 -0
  114. package/dist/middlewares/isInMainGuild.d.ts +4 -0
  115. package/dist/middlewares/isInMainGuild.d.ts.map +1 -0
  116. package/dist/middlewares/isInMainGuild.js +52 -0
  117. package/dist/middlewares/isInMainGuild.js.map +1 -0
  118. package/dist/middlewares/ownerOnly.d.ts +4 -0
  119. package/dist/middlewares/ownerOnly.d.ts.map +1 -0
  120. package/dist/middlewares/ownerOnly.js +24 -0
  121. package/dist/middlewares/ownerOnly.js.map +1 -0
  122. package/dist/middlewares/teamOnly.d.ts +4 -0
  123. package/dist/middlewares/teamOnly.d.ts.map +1 -0
  124. package/dist/middlewares/teamOnly.js +26 -0
  125. package/dist/middlewares/teamOnly.js.map +1 -0
  126. package/dist/middlewares/userPermissions.d.ts +4 -0
  127. package/dist/middlewares/userPermissions.d.ts.map +1 -0
  128. package/dist/middlewares/userPermissions.js +28 -0
  129. package/dist/middlewares/userPermissions.js.map +1 -0
  130. package/dist/middlewares/voteLocked.d.ts +4 -0
  131. package/dist/middlewares/voteLocked.d.ts.map +1 -0
  132. package/dist/middlewares/voteLocked.js +50 -0
  133. package/dist/middlewares/voteLocked.js.map +1 -0
  134. package/dist/structures/BaseCommand.d.ts +23 -0
  135. package/dist/structures/BaseCommand.d.ts.map +1 -0
  136. package/dist/structures/BaseCommand.js +42 -0
  137. package/dist/structures/BaseCommand.js.map +1 -0
  138. package/dist/types/AddonManager.d.ts +58 -0
  139. package/dist/types/AddonManager.d.ts.map +1 -0
  140. package/dist/types/AddonManager.js +3 -0
  141. package/dist/types/AddonManager.js.map +1 -0
  142. package/dist/types/DiscordHelpers.d.ts +7 -0
  143. package/dist/types/DiscordHelpers.d.ts.map +1 -0
  144. package/dist/types/DiscordHelpers.js +3 -0
  145. package/dist/types/DiscordHelpers.js.map +1 -0
  146. package/dist/types/EventManager.d.ts +10 -0
  147. package/dist/types/EventManager.d.ts.map +1 -0
  148. package/dist/types/EventManager.js +3 -0
  149. package/dist/types/EventManager.js.map +1 -0
  150. package/dist/types/InteractionManager.d.ts +35 -0
  151. package/dist/types/InteractionManager.d.ts.map +1 -0
  152. package/dist/types/InteractionManager.js +3 -0
  153. package/dist/types/InteractionManager.js.map +1 -0
  154. package/dist/types/KythiaClient.d.ts +9 -0
  155. package/dist/types/KythiaClient.d.ts.map +1 -0
  156. package/dist/types/KythiaClient.js +3 -0
  157. package/dist/types/KythiaClient.js.map +1 -0
  158. package/dist/types/KythiaConfig.d.ts +291 -0
  159. package/dist/types/KythiaConfig.d.ts.map +1 -0
  160. package/dist/types/KythiaConfig.js +3 -0
  161. package/dist/types/KythiaConfig.js.map +1 -0
  162. package/dist/types/KythiaContainer.d.ts +38 -0
  163. package/dist/types/KythiaContainer.d.ts.map +1 -0
  164. package/dist/types/KythiaContainer.js +3 -0
  165. package/dist/types/KythiaContainer.js.map +1 -0
  166. package/dist/types/KythiaLogger.d.ts +5 -0
  167. package/dist/types/KythiaLogger.d.ts.map +1 -0
  168. package/dist/types/KythiaLogger.js +3 -0
  169. package/dist/types/KythiaLogger.js.map +1 -0
  170. package/dist/types/KythiaMigrator.d.ts +9 -0
  171. package/dist/types/KythiaMigrator.d.ts.map +1 -0
  172. package/dist/types/KythiaMigrator.js +3 -0
  173. package/dist/types/KythiaMigrator.js.map +1 -0
  174. package/dist/types/KythiaModel.d.ts +31 -0
  175. package/dist/types/KythiaModel.d.ts.map +1 -0
  176. package/dist/types/KythiaModel.js +3 -0
  177. package/dist/types/KythiaModel.js.map +1 -0
  178. package/dist/types/KythiaOptions.d.ts +13 -0
  179. package/dist/types/KythiaOptions.d.ts.map +1 -0
  180. package/dist/types/KythiaOptions.js +3 -0
  181. package/dist/types/KythiaOptions.js.map +1 -0
  182. package/dist/types/KythiaSequelize.d.ts +13 -0
  183. package/dist/types/KythiaSequelize.d.ts.map +1 -0
  184. package/dist/types/KythiaSequelize.js +3 -0
  185. package/dist/types/KythiaSequelize.js.map +1 -0
  186. package/dist/types/KythiaStorage.d.ts +22 -0
  187. package/dist/types/KythiaStorage.d.ts.map +1 -0
  188. package/dist/types/KythiaStorage.js +3 -0
  189. package/dist/types/KythiaStorage.js.map +1 -0
  190. package/dist/types/MiddlewareManager.d.ts +14 -0
  191. package/dist/types/MiddlewareManager.d.ts.map +1 -0
  192. package/dist/types/MiddlewareManager.js +3 -0
  193. package/dist/types/MiddlewareManager.js.map +1 -0
  194. package/dist/types/ModelLoader.d.ts +8 -0
  195. package/dist/types/ModelLoader.d.ts.map +1 -0
  196. package/dist/types/ModelLoader.js +3 -0
  197. package/dist/types/ModelLoader.js.map +1 -0
  198. package/dist/types/ShutdownManager.d.ts +15 -0
  199. package/dist/types/ShutdownManager.d.ts.map +1 -0
  200. package/dist/types/ShutdownManager.js +3 -0
  201. package/dist/types/ShutdownManager.js.map +1 -0
  202. package/dist/types/TranslatorManager.d.ts +16 -0
  203. package/dist/types/TranslatorManager.d.ts.map +1 -0
  204. package/dist/types/TranslatorManager.js +3 -0
  205. package/dist/types/TranslatorManager.js.map +1 -0
  206. package/dist/types/index.d.ts +13 -0
  207. package/dist/types/index.d.ts.map +1 -0
  208. package/dist/types/index.js +29 -0
  209. package/dist/types/index.js.map +1 -0
  210. package/dist/utils/color.d.ts +15 -0
  211. package/dist/utils/color.d.ts.map +1 -0
  212. package/dist/utils/color.js +156 -0
  213. package/dist/utils/color.js.map +1 -0
  214. package/dist/utils/discord.d.ts +8 -0
  215. package/dist/utils/discord.d.ts.map +1 -0
  216. package/dist/utils/discord.js +53 -0
  217. package/dist/utils/discord.js.map +1 -0
  218. package/dist/utils/formatter.d.ts +3 -0
  219. package/dist/utils/formatter.d.ts.map +1 -0
  220. package/dist/utils/formatter.js +89 -0
  221. package/dist/utils/formatter.js.map +1 -0
  222. package/dist/utils/index.d.ts +12 -0
  223. package/dist/utils/index.d.ts.map +1 -0
  224. package/dist/utils/index.js +54 -0
  225. package/dist/utils/index.js.map +1 -0
  226. package/dist/utils/logger.d.ts +5 -0
  227. package/dist/utils/logger.d.ts.map +1 -0
  228. package/dist/utils/logger.js +150 -0
  229. package/dist/utils/logger.js.map +1 -0
  230. package/package.json +28 -6
  231. package/src/lang/en.json +85 -0
  232. package/changelog.md +0 -53
  233. package/index.js +0 -15
  234. package/src/Kythia.js +0 -556
  235. package/src/KythiaClient.js +0 -93
  236. package/src/cli/Command.js +0 -68
  237. package/src/cli/commands/CacheClearCommand.js +0 -136
  238. package/src/cli/commands/LangCheckCommand.js +0 -396
  239. package/src/cli/commands/LangTranslateCommand.js +0 -336
  240. package/src/cli/commands/MakeMigrationCommand.js +0 -82
  241. package/src/cli/commands/MakeModelCommand.js +0 -81
  242. package/src/cli/commands/MigrateCommand.js +0 -259
  243. package/src/cli/commands/NamespaceCommand.js +0 -112
  244. package/src/cli/commands/StructureCommand.js +0 -70
  245. package/src/cli/commands/UpversionCommand.js +0 -94
  246. package/src/cli/index.js +0 -69
  247. package/src/cli/utils/db.js +0 -117
  248. package/src/database/KythiaMigrator.js +0 -116
  249. package/src/database/KythiaModel.js +0 -1586
  250. package/src/database/KythiaSequelize.js +0 -128
  251. package/src/database/KythiaStorage.js +0 -117
  252. package/src/database/ModelLoader.js +0 -79
  253. package/src/managers/AddonManager.js +0 -1219
  254. package/src/managers/EventManager.js +0 -104
  255. package/src/managers/InteractionManager.js +0 -869
  256. package/src/managers/ShutdownManager.js +0 -218
  257. package/src/structures/BaseCommand.js +0 -53
  258. package/src/utils/color.js +0 -180
  259. package/src/utils/formatter.js +0 -99
  260. package/src/utils/index.js +0 -4
@@ -1,117 +0,0 @@
1
- /**
2
- * 🔌 CLI Database & Migration Bootstrapper
3
- *
4
- * @file src/cli/utils/db.js
5
- * @copyright © 2025 kenndeclouv
6
- * @assistant chaa & graa
7
- * @version 0.11.1-beta
8
- *
9
- * @description
10
- * Initializes the database connection and migration engine (Umzug) specifically
11
- * for CLI operations. It dynamically loads the project configuration and
12
- * discovers migration files across all addons.
13
- *
14
- * ✨ Core Features:
15
- * - Dynamic Config: Loads `kythia.config.js` from the user's project root.
16
- * - Auto-Discovery: Scans `addons` directory for migration files.
17
- * - Pretty Logging: Custom console output using `picocolors` for migration status.
18
- * - Singleton-like: Exports shared instances of Sequelize and Umzug.
19
- */
20
-
21
- require('@dotenvx/dotenvx/config');
22
- const fs = require('node:fs');
23
- const path = require('node:path');
24
- const { Umzug } = require('umzug');
25
- const createSequelizeInstance = require('../../database/KythiaSequelize');
26
- const KythiaStorage = require('../../database/KythiaStorage');
27
- const pc = require('picocolors');
28
-
29
- const configPath = path.resolve(process.cwd(), 'kythia.config.js');
30
-
31
- if (!fs.existsSync(configPath)) {
32
- console.error('❌ kythia.config.js not found in root directory!');
33
- process.exit(1);
34
- }
35
-
36
- const config = require(configPath);
37
-
38
- const logger = {
39
- info: () => {},
40
- error: console.error,
41
- debug: () => {},
42
- };
43
-
44
- const sequelize = createSequelizeInstance(config, logger);
45
-
46
- function getMigrationFiles() {
47
- const rootDir = process.cwd();
48
- const addonsDir = path.join(rootDir, 'addons');
49
-
50
- if (!fs.existsSync(addonsDir)) return [];
51
-
52
- const migrationFiles = [];
53
- const addonFolders = fs
54
- .readdirSync(addonsDir)
55
- .filter((f) => fs.statSync(path.join(addonsDir, f)).isDirectory());
56
-
57
- for (const addon of addonFolders) {
58
- const migrationDir = path.join(addonsDir, addon, 'database', 'migrations');
59
- if (fs.existsSync(migrationDir)) {
60
- const files = fs
61
- .readdirSync(migrationDir)
62
- .filter((f) => f.endsWith('.js'))
63
- .map((f) => ({
64
- name: f,
65
- path: path.join(migrationDir, f),
66
- }));
67
- migrationFiles.push(...files);
68
- }
69
- }
70
- return migrationFiles.sort((a, b) => a.name.localeCompare(b.name));
71
- }
72
-
73
- const storage = new KythiaStorage({ sequelize });
74
-
75
- const umzugLogger = {
76
- info: (event) => {
77
- if (typeof event === 'object') {
78
- if (event.event === 'migrated') {
79
- console.log(
80
- pc.green(`✅ Migrated: ${event.name} `) +
81
- pc.gray(`(${event.durationSeconds}s)`),
82
- );
83
- } else if (event.event === 'reverting') {
84
- console.log(pc.yellow(`↩️ Reverting: ${event.name}`));
85
- } else if (event.event === 'reverted') {
86
- console.log(
87
- pc.red(`❌ Reverted: ${event.name} `) +
88
- pc.gray(`(${event.durationSeconds}s)`),
89
- );
90
- }
91
- } else {
92
- console.log(pc.dim(event));
93
- }
94
- },
95
- warn: (msg) => console.warn(pc.yellow(`⚠️ ${msg}`)),
96
- error: (msg) => console.error(pc.red(`🔥 ${msg}`)),
97
- };
98
-
99
- const umzug = new Umzug({
100
- migrations: getMigrationFiles().map((m) => ({
101
- name: m.name,
102
- path: m.path,
103
- up: async ({ context }) => {
104
- const migration = require(m.path);
105
- return migration.up(context, require('sequelize').DataTypes);
106
- },
107
- down: async ({ context }) => {
108
- const migration = require(m.path);
109
- return migration.down(context, require('sequelize').DataTypes);
110
- },
111
- })),
112
- context: sequelize.getQueryInterface(),
113
- storage: storage,
114
- logger: umzugLogger,
115
- });
116
-
117
- module.exports = { sequelize, umzug, storage };
@@ -1,116 +0,0 @@
1
- /**
2
- * 🚜 Addon-based Database Migration Manager
3
- *
4
- * @file src/database/KythiaMigrator.js
5
- * @copyright © 2025 kenndeclouv
6
- * @assistant chaa & graa
7
- * @version 0.11.1-beta
8
- *
9
- * @description
10
- * Scans 'addons' folder for migration files and executes them using Umzug.
11
- * It integrates with KythiaStorage (Laravel-style) to track migration batches.
12
- *
13
- * ✨ Core Features:
14
- * - Auto-Discovery: Recursively finds migrations in `addons/{AddonName}/database/migrations`.
15
- * - Sorting: Ensures migrations run in correct order (YYYYMMDD format).
16
- * - Custom Logger: Clean, non-intrusive logging for the bot console.
17
- * - Batch Integration: Uses KythiaStorage to support rollback by batch.
18
- */
19
-
20
- const KythiaStorage = require('./KythiaStorage');
21
- const { DataTypes } = require('sequelize');
22
- const { Umzug } = require('umzug');
23
- const path = require('node:path');
24
- const fs = require('node:fs');
25
-
26
- function getMigrationFiles(rootDir) {
27
- const addonsDir = path.join(rootDir, 'addons');
28
- if (!fs.existsSync(addonsDir)) return [];
29
-
30
- const migrationFiles = [];
31
-
32
- const addonFolders = fs
33
- .readdirSync(addonsDir)
34
- .filter((f) => fs.statSync(path.join(addonsDir, f)).isDirectory());
35
-
36
- for (const addon of addonFolders) {
37
- const migrationDir = path.join(addonsDir, addon, 'database', 'migrations');
38
- if (fs.existsSync(migrationDir)) {
39
- const files = fs
40
- .readdirSync(migrationDir)
41
- .filter((f) => f.endsWith('.js'))
42
- .map((f) => ({
43
- name: f,
44
- path: path.join(migrationDir, f),
45
- folder: migrationDir,
46
- }));
47
- migrationFiles.push(...files);
48
- }
49
- }
50
-
51
- return migrationFiles.sort((a, b) => a.name.localeCompare(b.name));
52
- }
53
-
54
- async function KythiaMigrator({ sequelize, container, logger }) {
55
- const rootDir = container.appRoot;
56
- const migrations = getMigrationFiles(rootDir);
57
-
58
- if (migrations.length === 0) {
59
- logger.info('📭 No migrations found in addons.');
60
- return;
61
- }
62
-
63
- const umzugLogger = {
64
- info: (event) => {
65
- if (typeof event === 'object') {
66
- if (event.event === 'migrating') {
67
- } else if (event.event === 'migrated') {
68
- logger.info(`✅ Migrated: ${event.name}`);
69
- }
70
- } else {
71
- logger.info(event);
72
- }
73
- },
74
- warn: (msg) => logger.warn(msg),
75
- error: (msg) => logger.error(msg),
76
- };
77
-
78
- const umzug = new Umzug({
79
- migrations: migrations.map((m) => ({
80
- name: m.name,
81
- path: m.path,
82
- up: async ({ context }) => {
83
- const migration = require(m.path);
84
- return migration.up(context, DataTypes);
85
- },
86
- down: async ({ context }) => {
87
- const migration = require(m.path);
88
- return migration.down(context, DataTypes);
89
- },
90
- })),
91
- context: sequelize.getQueryInterface(),
92
-
93
- storage: new KythiaStorage({ sequelize }),
94
- logger: umzugLogger,
95
- });
96
-
97
- logger.info(`🚜 Checking migrations for ${migrations.length} files...`);
98
-
99
- try {
100
- const pending = await umzug.pending();
101
-
102
- if (pending.length > 0) {
103
- const executed = await umzug.up();
104
- if (executed.length > 0) {
105
- logger.info(`✨ Successfully applied ${executed.length} migrations.`);
106
- }
107
- } else {
108
- logger.info('✨ Database is already up to date.');
109
- }
110
- } catch (error) {
111
- logger.error('🔥 Migration Failed:', error);
112
- process.exit(1);
113
- }
114
- }
115
-
116
- module.exports = KythiaMigrator;