summaryrefslogtreecommitdiff
path: root/packages/backend/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/scripts')
-rw-r--r--packages/backend/scripts/check_migrations_clean.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/backend/scripts/check_migrations_clean.js b/packages/backend/scripts/check_migrations_clean.js
new file mode 100644
index 0000000000..ce67b1cd81
--- /dev/null
+++ b/packages/backend/scripts/check_migrations_clean.js
@@ -0,0 +1,26 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and misskey-project
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+// This script checks if the database migrations has been generated correctly.
+
+import dataSource from '../ormconfig.js';
+
+await dataSource.initialize();
+
+const sqlInMemory = await dataSource.driver.createSchemaBuilder().log();
+
+if (sqlInMemory.upQueries.length > 0 || sqlInMemory.downQueries.length > 0) {
+ console.error('There are several pending migrations. Please make sure you have generated the migrations correctly, or configured entities class correctly.');
+ for (const query of sqlInMemory.upQueries) {
+ console.error(`- ${query.query}`);
+ }
+ for (const query of sqlInMemory.downQueries) {
+ console.error(`- ${query.query}`);
+ }
+ process.exit(1);
+} else {
+ console.log('All migrations are clean.');
+ process.exit(0);
+}