/* Warnings: - You are about to drop the `QuotationPayment` table. If the table is not empty, all the data it contains will be lost. */ -- DropForeignKey ALTER TABLE "QuotationPayment" DROP CONSTRAINT "QuotationPayment_quotationId_fkey"; -- AlterTable ALTER TABLE "QuotationProductServiceList" ADD COLUMN "invoiceId" TEXT; -- DropTable DROP TABLE "QuotationPayment"; -- CreateTable CREATE TABLE "Invoice" ( "id" TEXT NOT NULL, "quotationId" TEXT NOT NULL, "amount" DOUBLE PRECISION, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdByUserId" TEXT NOT NULL, CONSTRAINT "Invoice_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Payment" ( "id" TEXT NOT NULL, "invoiceId" TEXT NOT NULL, "paymentStatus" "PaymentStatus" NOT NULL, "amount" DOUBLE PRECISION NOT NULL, "date" TIMESTAMP(3), "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdByUserId" TEXT, CONSTRAINT "Payment_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "Payment_invoiceId_key" ON "Payment"("invoiceId"); -- AddForeignKey ALTER TABLE "QuotationProductServiceList" ADD CONSTRAINT "QuotationProductServiceList_invoiceId_fkey" FOREIGN KEY ("invoiceId") REFERENCES "Invoice"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Invoice" ADD CONSTRAINT "Invoice_quotationId_fkey" FOREIGN KEY ("quotationId") REFERENCES "Quotation"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Invoice" ADD CONSTRAINT "Invoice_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Payment" ADD CONSTRAINT "Payment_invoiceId_fkey" FOREIGN KEY ("invoiceId") REFERENCES "Invoice"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Payment" ADD CONSTRAINT "Payment_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;