augment-vir - v31.13.0
    Preparing search index...

    Variable prismaConst

    prisma: {
        client: {
            addData: <const PrismaClient extends BasePrismaClient>(
                prismaClient: Readonly<PrismaClient>,
                data: IsAny<PrismaClient> extends true
                    ? any
                    : PrismaAddModelData<PrismaClient>,
            ) => Promise<void>;
            dumpData: <const PrismaClient extends BasePrismaClient>(
                prismaClient: PrismaClient,
                options?: Readonly<PartialWithUndefined<PrismaDataDumpOptions>>,
            ) => Promise<
                Partial<
                    {
                        [ModelName in string
                        | number]: PrismaBasicModel<PrismaClient, ModelName>[]
                    },
                >,
            >;
            generate: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<void>;
            isCurrent: (
                __namedParameters: {
                    jsClientOutputDir: string;
                    schemaFilePath: string;
                },
            ) => Promise<boolean>;
            listModelNames: <const PrismaClient extends BasePrismaClient>(
                prismaClient: PrismaClient,
            ) => PrismaModelName<PrismaClient>[];
        };
        database: {
            diff: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<string>;
            hasDiff: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<boolean>;
            resetDev: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<void>;
        };
        migration: {
            applyDev: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<void>;
            applyProd: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<void>;
            create: (
                __namedParameters: { createOnly?: boolean; migrationName: string },
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<void>;
            status: (
                schemaFilePath: string,
                env?: Record<string, string>,
            ) => Promise<PrismaMigrationStatus>;
        };
    } = ...

    Centralized Prisma API from @augment-vir/node.

    • Deploy to production

      • prisma.migration.applyProd()
    • Update dev environment

      • Apply migrations: prisma.migration.applyDev

      • Generate client: prisma.client.isCurrent

        • If false, run prisma.client.generate

    Type declaration

    • client: {
          addData: <const PrismaClient extends BasePrismaClient>(
              prismaClient: Readonly<PrismaClient>,
              data: IsAny<PrismaClient> extends true
                  ? any
                  : PrismaAddModelData<PrismaClient>,
          ) => Promise<void>;
          dumpData: <const PrismaClient extends BasePrismaClient>(
              prismaClient: PrismaClient,
              options?: Readonly<PartialWithUndefined<PrismaDataDumpOptions>>,
          ) => Promise<
              Partial<
                  {
                      [ModelName in string
                      | number]: PrismaBasicModel<PrismaClient, ModelName>[]
                  },
              >,
          >;
          generate: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<void>;
          isCurrent: (
              __namedParameters: {
                  jsClientOutputDir: string;
                  schemaFilePath: string;
              },
          ) => Promise<boolean>;
          listModelNames: <const PrismaClient extends BasePrismaClient>(
              prismaClient: PrismaClient,
          ) => PrismaModelName<PrismaClient>[];
      }
      • addData: <const PrismaClient extends BasePrismaClient>(
            prismaClient: Readonly<PrismaClient>,
            data: IsAny<PrismaClient> extends true
                ? any
                : PrismaAddModelData<PrismaClient>,
        ) => Promise<void>

        Adds a collection of create data entries to a database through a PrismaClient instance. This is particularly useful for setting up mocks in a mock PrismaClient.

        import {addPrismaModelData} from '@augment-vir/common';
        import {PrismaClient} from '@prisma/client';

        await addPrismaModelData(new PrismaClient(), [
        {
        user: {
        mockUser1: {
        first_name: 'one',
        id: 123,
        // etc.
        },
        mockUser2: {
        first_name: 'two',
        id: 124,
        authRole: 'user',
        // etc.
        },
        },
        },
        {
        region: [
        {
        id: 1,
        name: 'North America',
        // etc.
        },
        {
        id: 2,
        name: 'Europe',
        // etc.
        },
        ],
        },
        ]);
      • dumpData: <const PrismaClient extends BasePrismaClient>(
            prismaClient: PrismaClient,
            options?: Readonly<PartialWithUndefined<PrismaDataDumpOptions>>,
        ) => Promise<
            Partial<
                {
                    [ModelName in string
                    | number]: PrismaBasicModel<PrismaClient, ModelName>[]
                },
            >,
        >

        Dump data from the current database through a PrismaClient instance.

      • generate: (schemaFilePath: string, env?: Record<string, string>) => Promise<void>

        Runs Prisma generators included in the given Prisma schema (which usually includes the Prisma JS client). This will work even if the database doesn't exist yet.

        import {prisma} from '@augment-vir/node';

        prisma.client.generate('../../prisma/schema.prisma');
      • isCurrent: (
            __namedParameters: { jsClientOutputDir: string; schemaFilePath: string },
        ) => Promise<boolean>

        Detects if the current generated Prisma JS Client was generated from the current Prisma schema.

      • listModelNames: <const PrismaClient extends BasePrismaClient>(
            prismaClient: PrismaClient,
        ) => PrismaModelName<PrismaClient>[]

        List all model names in the given Prisma client.

    • database: {
          diff: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<string>;
          hasDiff: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<boolean>;
          resetDev: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<void>;
      }
      • diff: (schemaFilePath: string, env?: Record<string, string>) => Promise<string>

        Gets a string list of all differences between the current database and the Prisma schema that should control it.

      • hasDiff: (schemaFilePath: string, env?: Record<string, string>) => Promise<boolean>

        Uses prisma.database.diff to detect if there are any differences between the current database and the Prisma schema that should control it.

      • resetDev: (schemaFilePath: string, env?: Record<string, string>) => Promise<void>

        Force resets a dev database to match the current Prisma schema and migrations.

        This will destroy all data. Do not use in production.

    • migration: {
          applyDev: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<void>;
          applyProd: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<void>;
          create: (
              __namedParameters: { createOnly?: boolean; migrationName: string },
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<void>;
          status: (
              schemaFilePath: string,
              env?: Record<string, string>,
          ) => Promise<PrismaMigrationStatus>;
      }