diff --git a/packages/backend/src/tools/add-emoji.ts b/packages/backend/src/tools/add-emoji.ts
index 9ffe7dfa81..6c750bcab0 100644
--- a/packages/backend/src/tools/add-emoji.ts
+++ b/packages/backend/src/tools/add-emoji.ts
@@ -1,7 +1,10 @@
-import { Emojis } from '@/models/index';
+import { initDb } from '@/db/postgre';
 import { genId } from '@/misc/gen-id';
 
 async function main(name: string, url: string, alias?: string): Promise<any> {
+	await initDb();
+	const { Emojis } = await import('@/models/index');
+
 	const aliases = alias != null ? [ alias ] : [];
 
 	await Emojis.save({
diff --git a/packages/backend/src/tools/demote-admin.ts b/packages/backend/src/tools/demote-admin.ts
index d7c6d1cec2..b326c946ef 100644
--- a/packages/backend/src/tools/demote-admin.ts
+++ b/packages/backend/src/tools/demote-admin.ts
@@ -1,13 +1,11 @@
 import { initDb } from '../db/postgre';
-import { getRepository } from 'typeorm';
-import { User } from '@/models/entities/user';
 
 async function main(username: string) {
 	if (!username) throw `username required`;
 	username = username.replace(/^@/, '');
 
 	await initDb();
-	const Users = getRepository(User);
+	const { Users } = await import('@/models/index');
 
 	const res = await Users.update({
 		usernameLower: username.toLowerCase(),
diff --git a/packages/backend/src/tools/mark-admin.ts b/packages/backend/src/tools/mark-admin.ts
index 62ed0f09ee..0833f22266 100644
--- a/packages/backend/src/tools/mark-admin.ts
+++ b/packages/backend/src/tools/mark-admin.ts
@@ -1,13 +1,11 @@
 import { initDb } from '../db/postgre';
-import { getRepository } from 'typeorm';
-import { User } from '@/models/entities/user';
 
 async function main(username: string) {
 	if (!username) throw `username required`;
 	username = username.replace(/^@/, '');
 
 	await initDb();
-	const Users = getRepository(User);
+	const { Users } = await import('@/models/index');
 
 	const res = await Users.update({
 		usernameLower: username.toLowerCase(),
diff --git a/packages/backend/src/tools/refresh-question.ts b/packages/backend/src/tools/refresh-question.ts
index 98a3c2865f..3bbb781ae7 100644
--- a/packages/backend/src/tools/refresh-question.ts
+++ b/packages/backend/src/tools/refresh-question.ts
@@ -1,6 +1,9 @@
-import { updateQuestion } from '@/remote/activitypub/models/question';
+import { initDb } from '@/db/postgre';
 
 async function main(uri: string): Promise<any> {
+	await initDb();
+	const { updateQuestion } = await import('@/remote/activitypub/models/question');
+
 	return await updateQuestion(uri);
 }
 
diff --git a/packages/backend/src/tools/show-signin-history.ts b/packages/backend/src/tools/show-signin-history.ts
index ad92316314..1291a1b22f 100644
--- a/packages/backend/src/tools/show-signin-history.ts
+++ b/packages/backend/src/tools/show-signin-history.ts
@@ -1,4 +1,4 @@
-import { Users, Signins } from '@/models/index';
+import { initDb } from '@/db/postgre';
 
 // node built/tools/show-signin-history username
 //  => {Success} {Date} {IPAddrsss}
@@ -10,6 +10,9 @@ import { Users, Signins } from '@/models/index';
 //  with full request headers
 
 async function main(username: string, headers?: string[]) {
+	await initDb();
+	const { Users, Signins } = await import('@/models/index');
+
 	const user = await Users.findOne({
 		host: null,
 		usernameLower: username.toLowerCase(),