76 lines
2.8 KiB
SQL
76 lines
2.8 KiB
SQL
-- AlterTable
|
|||
|
|
ALTER TABLE "User" ADD COLUMN "commissionPercent" DECIMAL(8,2) NOT NULL DEFAULT 0;
|
||
|
|
|
||
|
|
-- AlterTable
|
||
|
|
ALTER TABLE "Invoice" ADD COLUMN "commissionPercent" DECIMAL(8,2),
|
||
|
|
ADD COLUMN "commissionFixedAmount" DECIMAL(18,2);
|
||
|
|
|
||
|
|
-- CreateTable
|
||
|
|
CREATE TABLE "CommissionEntry" (
|
||
|
|
"id" TEXT NOT NULL,
|
||
|
|
"organizationId" TEXT NOT NULL,
|
||
|
|
"userId" TEXT NOT NULL,
|
||
|
|
"invoiceId" TEXT NOT NULL,
|
||
|
|
"percent" DECIMAL(8,2) NOT NULL,
|
||
|
|
"amount" DECIMAL(18,2) NOT NULL,
|
||
|
|
"currency" TEXT NOT NULL DEFAULT 'IRR',
|
||
|
|
"status" TEXT NOT NULL DEFAULT 'posted',
|
||
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
|
||
|
|
CONSTRAINT "CommissionEntry_pkey" PRIMARY KEY ("id")
|
||
|
|
);
|
||
|
|
|
||
|
|
-- CreateTable
|
||
|
|
CREATE TABLE "Cheque" (
|
||
|
|
"id" TEXT NOT NULL,
|
||
|
|
"organizationId" TEXT NOT NULL,
|
||
|
|
"paymentId" TEXT NOT NULL,
|
||
|
|
"invoiceId" TEXT NOT NULL,
|
||
|
|
"number" TEXT NOT NULL,
|
||
|
|
"bank" TEXT NOT NULL,
|
||
|
|
"dueDate" TIMESTAMP(3) NOT NULL,
|
||
|
|
"status" TEXT NOT NULL DEFAULT 'pending',
|
||
|
|
"notes" TEXT,
|
||
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
|
||
|
|
CONSTRAINT "Cheque_pkey" PRIMARY KEY ("id")
|
||
|
|
);
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE UNIQUE INDEX "CommissionEntry_invoiceId_key" ON "CommissionEntry"("invoiceId");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "CommissionEntry_organizationId_userId_createdAt_idx" ON "CommissionEntry"("organizationId", "userId", "createdAt");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "CommissionEntry_status_idx" ON "CommissionEntry"("status");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE UNIQUE INDEX "Cheque_paymentId_key" ON "Cheque"("paymentId");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Cheque_organizationId_status_dueDate_idx" ON "Cheque"("organizationId", "status", "dueDate");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Cheque_invoiceId_idx" ON "Cheque"("invoiceId");
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "CommissionEntry" ADD CONSTRAINT "CommissionEntry_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "CommissionEntry" ADD CONSTRAINT "CommissionEntry_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "CommissionEntry" ADD CONSTRAINT "CommissionEntry_invoiceId_fkey" FOREIGN KEY ("invoiceId") REFERENCES "Invoice"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Cheque" ADD CONSTRAINT "Cheque_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Cheque" ADD CONSTRAINT "Cheque_paymentId_fkey" FOREIGN KEY ("paymentId") REFERENCES "Payment"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Cheque" ADD CONSTRAINT "Cheque_invoiceId_fkey" FOREIGN KEY ("invoiceId") REFERENCES "Invoice"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|