如何在 Next.js 中的服务器启动时运行一次仅服务器代码?

Eri*_* Na 7 objection.js next.js prisma

我正在尝试从和访问我的Userobjection.js 模型。getStaticPropsgetStaticPaths

但是,我需要跑

import Knex from "knex";
import knexfile from "./knexfile";
import { Model } from "objection";

function setupDB() {
  const db = Knex(knexfile[process.env.NODE_ENV]);
  Model.knex(db);
}
Run Code Online (Sandbox Code Playgroud)

在服务器启动时。

当我做

  const users = await User.query();
Run Code Online (Sandbox Code Playgroud)

在里面getStaticPaths,我收到Error: no database connection available for a query. You need to bind the model class or the query to a knex instance.错误。

我尝试setupDB()在内部运行_app.js检查typeof window === "undefined",但仅导入 Knex 和反对会_app.js引发错误。

我应该在哪里运行这个?我真的很想避免延长server.js

(我应该补充一下,在 next.js github 上有过讨论,但不确定是否有一种方法可以针对 Objection.js 或任何最近的开发进行具体操作。