chore: safely import drizzle-kit
This commit is contained in:
@@ -3,10 +3,13 @@ import type { DrizzleSnapshotJSON } from 'drizzle-kit/payload'
|
|||||||
import type { CreateMigration } from 'payload/database'
|
import type { CreateMigration } from 'payload/database'
|
||||||
|
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
import { createRequire } from 'module'
|
||||||
import prompts from 'prompts'
|
import prompts from 'prompts'
|
||||||
|
|
||||||
import type { PostgresAdapter } from './types.js'
|
import type { PostgresAdapter } from './types.js'
|
||||||
|
|
||||||
|
const require = createRequire(import.meta.url)
|
||||||
|
|
||||||
const migrationTemplate = (
|
const migrationTemplate = (
|
||||||
upSQL?: string,
|
upSQL?: string,
|
||||||
downSQL?: string,
|
downSQL?: string,
|
||||||
@@ -60,7 +63,7 @@ export const createMigration: CreateMigration = async function createMigration(
|
|||||||
fs.mkdirSync(dir)
|
fs.mkdirSync(dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
const { generateDrizzleJson, generateMigration } = await import('drizzle-kit/payload')
|
const { generateDrizzleJson, generateMigration } = require('drizzle-kit/payload')
|
||||||
|
|
||||||
const [yyymmdd, hhmmss] = new Date().toISOString().split('T')
|
const [yyymmdd, hhmmss] = new Date().toISOString().split('T')
|
||||||
const formattedDate = yyymmdd.replace(/\D/g, '')
|
const formattedDate = yyymmdd.replace(/\D/g, '')
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import type { Payload } from 'payload'
|
|||||||
import type { Migration } from 'payload/database'
|
import type { Migration } from 'payload/database'
|
||||||
import type { PayloadRequest } from 'payload/types'
|
import type { PayloadRequest } from 'payload/types'
|
||||||
|
|
||||||
|
import { createRequire } from 'module'
|
||||||
import {
|
import {
|
||||||
commitTransaction,
|
commitTransaction,
|
||||||
initTransaction,
|
initTransaction,
|
||||||
@@ -17,6 +18,8 @@ import { createMigrationTable } from './utilities/createMigrationTable.js'
|
|||||||
import { migrationTableExists } from './utilities/migrationTableExists.js'
|
import { migrationTableExists } from './utilities/migrationTableExists.js'
|
||||||
import { parseError } from './utilities/parseError.js'
|
import { parseError } from './utilities/parseError.js'
|
||||||
|
|
||||||
|
const require = createRequire(import.meta.url)
|
||||||
|
|
||||||
export async function migrate(this: PostgresAdapter): Promise<void> {
|
export async function migrate(this: PostgresAdapter): Promise<void> {
|
||||||
const { payload } = this
|
const { payload } = this
|
||||||
const migrationFiles = await readMigrationFiles({ payload })
|
const migrationFiles = await readMigrationFiles({ payload })
|
||||||
@@ -82,7 +85,7 @@ export async function migrate(this: PostgresAdapter): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function runMigrationFile(payload: Payload, migration: Migration, batch: number) {
|
async function runMigrationFile(payload: Payload, migration: Migration, batch: number) {
|
||||||
const { generateDrizzleJson } = await import('drizzle-kit/payload')
|
const { generateDrizzleJson } = require('drizzle-kit/payload')
|
||||||
|
|
||||||
const start = Date.now()
|
const start = Date.now()
|
||||||
const req = { payload } as PayloadRequest
|
const req = { payload } as PayloadRequest
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { numeric, timestamp, varchar } from 'drizzle-orm/pg-core'
|
import { numeric, timestamp, varchar } from 'drizzle-orm/pg-core'
|
||||||
|
import { createRequire } from 'module'
|
||||||
import prompts from 'prompts'
|
import prompts from 'prompts'
|
||||||
|
|
||||||
import type { PostgresAdapter } from '../types.js'
|
import type { PostgresAdapter } from '../types.js'
|
||||||
|
|
||||||
const { pushSchema } = await import('drizzle-kit/payload')
|
const require = createRequire(import.meta.url)
|
||||||
|
|
||||||
|
const { pushSchema } = require('drizzle-kit/payload')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pushes the development schema to the database using Drizzle.
|
* Pushes the development schema to the database using Drizzle.
|
||||||
|
|||||||
Reference in New Issue
Block a user