feat: expand admin companies and users modules
This commit is contained in:
parent
a043b1203c
commit
2e3b46a7b5
31 changed files with 5626 additions and 2003 deletions
57
scripts/apply-company-migration.mjs
Normal file
57
scripts/apply-company-migration.mjs
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
import { PrismaClient } from "@prisma/client"
|
||||
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
const statements = [
|
||||
`ALTER TABLE "Company" ADD COLUMN "legalName" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "tradeName" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "stateRegistration" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "stateRegistrationType" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "primaryCnae" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "timezone" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "businessHours" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "supportEmail" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "billingEmail" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "contactPreferences" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "clientDomains" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "communicationChannels" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "fiscalAddress" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "hasBranches" BOOLEAN NOT NULL DEFAULT false`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "regulatedEnvironments" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "privacyPolicyAccepted" BOOLEAN NOT NULL DEFAULT false`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "privacyPolicyReference" TEXT`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "privacyPolicyMetadata" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "contracts" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "contacts" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "locations" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "sla" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "tags" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "customFields" JSON`,
|
||||
`ALTER TABLE "Company" ADD COLUMN "notes" TEXT`,
|
||||
]
|
||||
|
||||
async function main() {
|
||||
for (const statement of statements) {
|
||||
try {
|
||||
await prisma.$executeRawUnsafe(statement)
|
||||
} catch (error) {
|
||||
// Ignore errors caused by columns that already exist (idempotent execution)
|
||||
if (
|
||||
!(error instanceof Error) ||
|
||||
!/duplicate column name|already exists/i.test(error.message ?? "")
|
||||
) {
|
||||
console.error(`Failed to apply migration statement: ${statement}`)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((error) => {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect()
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue