From 95597ec139f7c7ab0124a13001e77c70b61ccaf0 Mon Sep 17 00:00:00 2001 From: liuyi Date: Tue, 10 Dec 2024 12:42:59 +0900 Subject: [PATCH] chore(server): local data migration env (#9080) --- packages/backend/server/package.json | 5 ++--- packages/backend/server/src/fundamentals/config/def.ts | 9 +++++++-- .../backend/server/src/fundamentals/config/default.ts | 2 ++ .../backend/server/src/fundamentals/graphql/index.ts | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/backend/server/package.json b/packages/backend/server/package.json index c809ade05b..dd4530cd5f 100644 --- a/packages/backend/server/package.json +++ b/packages/backend/server/package.json @@ -16,9 +16,8 @@ "test:coverage": "c8 ava --concurrency 1 --serial", "test:copilot:coverage": "c8 ava --timeout=5m \"tests/**/copilot-*.spec.ts\"", "postinstall": "prisma generate", - "data-migration": "node --loader ts-node/esm/transpile-only.mjs ./src/data/index.ts", - "predeploy": "yarn prisma migrate deploy && node --import ./scripts/register.js ./dist/data/index.js run", - "predeploy:ts": "yarn prisma migrate deploy && node --loader ts-node/esm/transpile-only.mjs ./src/data/index.ts run" + "data-migration": "NODE_ENV=script node --loader ts-node/esm/transpile-only.mjs ./src/data/index.ts", + "predeploy": "yarn prisma migrate deploy && node --import ./scripts/register.js ./dist/data/index.js run" }, "dependencies": { "@apollo/server": "^4.10.2", diff --git a/packages/backend/server/src/fundamentals/config/def.ts b/packages/backend/server/src/fundamentals/config/def.ts index f1427eb1ea..b70f6ea5b0 100644 --- a/packages/backend/server/src/fundamentals/config/def.ts +++ b/packages/backend/server/src/fundamentals/config/def.ts @@ -4,7 +4,7 @@ import { AppStartupConfig } from './types'; export type EnvConfigType = 'string' | 'int' | 'float' | 'boolean'; export type ServerFlavor = 'allinone' | 'graphql' | 'sync' | 'renderer'; export type AFFINE_ENV = 'dev' | 'beta' | 'production'; -export type NODE_ENV = 'development' | 'test' | 'production'; +export type NODE_ENV = 'development' | 'test' | 'production' | 'script'; export enum DeploymentType { Affine = 'affine', @@ -25,7 +25,12 @@ export interface PreDefinedAFFiNEConfig { readonly isSelfhosted: boolean; readonly flavor: { type: string } & { [key in ServerFlavor]: boolean }; readonly affine: { canary: boolean; beta: boolean; stable: boolean }; - readonly node: { prod: boolean; dev: boolean; test: boolean }; + readonly node: { + prod: boolean; + dev: boolean; + test: boolean; + script: boolean; + }; readonly deploy: boolean; } diff --git a/packages/backend/server/src/fundamentals/config/default.ts b/packages/backend/server/src/fundamentals/config/default.ts index e31aff94a2..d8861ccb10 100644 --- a/packages/backend/server/src/fundamentals/config/default.ts +++ b/packages/backend/server/src/fundamentals/config/default.ts @@ -18,6 +18,7 @@ function getPredefinedAFFiNEConfig(): PreDefinedAFFiNEConfig { 'development', 'test', 'production', + 'script', ]); const AFFINE_ENV = readEnv('AFFINE_ENV', 'dev', [ 'dev', @@ -47,6 +48,7 @@ function getPredefinedAFFiNEConfig(): PreDefinedAFFiNEConfig { prod: NODE_ENV === 'production', dev: NODE_ENV === 'development', test: NODE_ENV === 'test', + script: NODE_ENV === 'script', }; return { diff --git a/packages/backend/server/src/fundamentals/graphql/index.ts b/packages/backend/server/src/fundamentals/graphql/index.ts index 8f604984aa..c513f8ffdc 100644 --- a/packages/backend/server/src/fundamentals/graphql/index.ts +++ b/packages/backend/server/src/fundamentals/graphql/index.ts @@ -35,9 +35,9 @@ export type GraphqlContext = { }, autoSchemaFile: join( fileURLToPath(import.meta.url), - config.node.test - ? '../../../../node_modules/.cache/schema.gql' - : '../../../schema.gql' + config.node.dev + ? '../../../schema.gql' + : '../../../../node_modules/.cache/schema.gql' ), sortSchema: true, context: ({