From 747c40eabe737c3b704dbc7a0283fec01cd7f2ae Mon Sep 17 00:00:00 2001 From: Xc Date: Tue, 7 Oct 2025 18:10:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E8=8C=83=E4=BA=86initialize=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E8=A1=8C=E4=B8=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/server/initialize.d.ts | 2 +- lib/server/initialize.js | 4 ++-- src/server/initialize.ts | 4 ++-- template/scripts/initServer.js | 7 ++++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/server/initialize.d.ts b/lib/server/initialize.d.ts index 964ab37..3b41568 100644 --- a/lib/server/initialize.d.ts +++ b/lib/server/initialize.d.ts @@ -2,4 +2,4 @@ import { EntityDict } from 'oak-domain/lib/types'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { BackendRuntimeContext } from 'oak-frontend-base/lib/context/BackendRuntimeContext'; -export declare function initialize>(path: string): Promise; +export declare function initialize>(path: string, ifExists?: 'drop' | 'omit' | 'dropIfNotStatic'): Promise; diff --git a/lib/server/initialize.js b/lib/server/initialize.js index 90f692b..6710bb0 100644 --- a/lib/server/initialize.js +++ b/lib/server/initialize.js @@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.initialize = void 0; /// const oak_backend_base_1 = require("oak-backend-base"); -async function initialize(path) { +async function initialize(path, ifExists) { const appLoader = new oak_backend_base_1.AppLoader(path); await appLoader.mount(true); - await appLoader.initialize(); + await appLoader.initialize(ifExists); await appLoader.unmount(); console.log('data initialized'); } diff --git a/src/server/initialize.ts b/src/server/initialize.ts index 33475af..b353c5f 100644 --- a/src/server/initialize.ts +++ b/src/server/initialize.ts @@ -7,10 +7,10 @@ import { BackendRuntimeContext } from 'oak-frontend-base/lib/context/BackendRunt export async function initialize< ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext ->(path: string) { +>(path: string, ifExists?: 'drop' | 'omit' | 'dropIfNotStatic') { const appLoader = new AppLoader(path); await appLoader.mount(true); - await appLoader.initialize(); + await appLoader.initialize(ifExists); await appLoader.unmount(); console.log('data initialized'); } \ No newline at end of file diff --git a/template/scripts/initServer.js b/template/scripts/initServer.js index 0405b02..ec3fef9 100644 --- a/template/scripts/initServer.js +++ b/template/scripts/initServer.js @@ -1,11 +1,12 @@ const { initialize } = require('@xuchangzju/oak-cli/lib/server/initialize'); +const assert = require('assert'); const pwd = process.cwd(); -const dropIfExists = process.argv[2]; -// console.log(dropIfExists); +const ifExists = process.argv[2]; +assert(['drop' , 'omit' , 'dropIfNotStatic'].includes(ifExists), "第二个参数只能是'drop' | 'omit' | 'dropIfNotStatic'"); initialize( pwd, - !!dropIfExists + ifExists ).then(() => process.exit(0));