Merge branch 'main' into production
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import axiosInstance from '../../src/axiosSecure';
|
||||
import { useEffect, useState } from "react";
|
||||
import { use, useEffect, useState } from "react";
|
||||
import { toast } from "react-hot-toast";
|
||||
import { useRouter } from "next/router";
|
||||
import Link from "next/link";
|
||||
@@ -55,6 +55,8 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
|
||||
|
||||
const router = useRouter();
|
||||
const [editMode, setEditMode] = useState(existingItem ? true : false);
|
||||
const [pubs, setPubs] = useState([]);
|
||||
|
||||
|
||||
const [item, setItem] = useState(existingItem || {
|
||||
...existingItem,
|
||||
@@ -72,6 +74,12 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
|
||||
setItem(transformedItem);
|
||||
}, [existingItem]);
|
||||
|
||||
useEffect(async () => {
|
||||
const pubs = await axiosInstance.get("/api/data/publishers?select=id,firstName,lastName,email");
|
||||
setPubs(pubs.data);
|
||||
}, []);
|
||||
|
||||
|
||||
|
||||
const handleChange = ({ target }) => {
|
||||
setItem({ ...item, [target.name]: target.value });
|
||||
@@ -96,7 +104,6 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
|
||||
}
|
||||
else {
|
||||
//get all publisherIds and create a message for each
|
||||
const pubs = await axiosInstance.get("/api/data/publishers");
|
||||
const messages = pubs.data.map(pub => {
|
||||
return {
|
||||
publisherId: pub.id,
|
||||
@@ -154,6 +161,49 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const getNamesByIds = (ids) => {
|
||||
return ids
|
||||
.map((id) => {
|
||||
const pub = pubs.find((p) => p.id === id);
|
||||
return pub ? `${pub.firstName} ${pub.lastName}` : null;
|
||||
})
|
||||
.filter((name) => name !== null)
|
||||
.join(", ");
|
||||
};
|
||||
|
||||
const getIdsForAnswer = (answer) => {
|
||||
return item.messages
|
||||
.filter((message) => message.answer === answer)
|
||||
.map((message) => message.publisherId);
|
||||
};
|
||||
|
||||
const getIdsForAnswered = () => {
|
||||
return item.messages
|
||||
.filter((message) => message.answer)
|
||||
.map((message) => message.publisherId);
|
||||
};
|
||||
|
||||
const getIdsForUnanswered = () => {
|
||||
return item.messages
|
||||
.filter((message) => !message.answer)
|
||||
.map((message) => message.publisherId);
|
||||
};
|
||||
|
||||
// const copyToClipboard = (text) => {
|
||||
// navigator.clipboard.writeText(text).then(
|
||||
// () => toast.success('Copied to clipboard!'),
|
||||
// (err) => toast.error('Failed to copy text: ', err)
|
||||
// );
|
||||
// };
|
||||
|
||||
const copyToClipboard = (text) => {
|
||||
navigator.clipboard.writeText(text).then(
|
||||
() => alert('Имената са копирани: ' + text),
|
||||
(err) => alert('Не успяхме да копираме имената: ', err)
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="w-full max-w-md mx-auto" >
|
||||
< form className="bg-white dark:bg-gray-800 shadow-md rounded px-8 pt-6 pb-8 mb-4" onSubmit={handleSubmit} >
|
||||
@@ -188,27 +238,55 @@ const SurveyForm: React.FC<SurveyFormProps> = ({ existingItem }) => {
|
||||
{item?.answersCount?.length > 0 && (
|
||||
<div className="mb-4">
|
||||
<h3 className="text-lg font-semibold mb-2">Отговори:</h3>
|
||||
{item.answersCount.map((answer, index) => (
|
||||
<div key={index} className="mb-2">
|
||||
<label className="block text-gray-700 text-sm font-bold mb-2" htmlFor={`answer-${index}`}>
|
||||
{answer}
|
||||
</label>
|
||||
<p className="text-gray-700">
|
||||
{item.messages ? item.messages.filter((message) => message.answer === answer).length : 0}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
<div className="mb-2">
|
||||
{item.answersCount.map((answer, index) => {
|
||||
const currentCount = item.messages ? item.messages.filter((message) => message.answer === answer).length : 0;
|
||||
const totalCount = item.messages ? item.messages.length : 0;
|
||||
const percentage = totalCount > 0 ? (currentCount / totalCount) * 100 : 0;
|
||||
const ids = getIdsForAnswer(answer);
|
||||
const names = getNamesByIds(ids);
|
||||
|
||||
return (
|
||||
<div key={index} className="mb-4">
|
||||
<label className="block text-gray-700 text-sm font-bold mb-2" htmlFor={`answer-${index}`}>
|
||||
{answer}
|
||||
</label>
|
||||
<div className="relative h-6 w-full bg-gray-200 rounded" title={names}
|
||||
onClick={() => copyToClipboard(names)} style={{ cursor: 'copy' }}>
|
||||
<div className="absolute h-full bg-blue-600 rounded" style={{ width: `${percentage}%` }}></div>
|
||||
<div className="absolute inset-0 flex items-center justify-center text-white font-bold">
|
||||
{currentCount} ({percentage.toFixed(1)}%)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
<div className="mb-4">
|
||||
<label className="block text-gray-700 text-sm font-bold mb-2">Общо отговорили</label>
|
||||
<p className="text-gray-700">{item.messages ? item.messages.filter((message) => message.answer).length : 0}</p>
|
||||
<div className="relative h-6 w-full bg-gray-200 rounded" title={getNamesByIds(getIdsForAnswered())}
|
||||
onClick={() => copyToClipboard(getNamesByIds(getIdsForAnswered()))} style={{ cursor: 'copy' }}
|
||||
>
|
||||
<div className="absolute h-full bg-green-600 rounded" style={{ width: `${item.messages ? (item.messages.filter((message) => message.answer).length / item.messages.length) * 100 : 0}%` }}></div>
|
||||
<div className="absolute inset-0 flex items-center justify-center text-white font-bold">
|
||||
{item.messages ? item.messages.filter((message) => message.answer).length : 0}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="mb-2">
|
||||
<div className="mb-4">
|
||||
<label className="block text-gray-700 text-sm font-bold mb-2">Общо неотговорили</label>
|
||||
<p className="text-gray-700">{item.messages ? item.messages.filter((message) => !message.answer).length : 0}</p>
|
||||
<div className="relative h-6 w-full bg-gray-200 rounded" title={getNamesByIds(getIdsForUnanswered())}
|
||||
style={{ cursor: 'copy' }}
|
||||
onClick={() => copyToClipboard(getNamesByIds(getIdsForUnanswered()))}>
|
||||
<div className="absolute h-full bg-red-600 rounded" style={{ width: `${item.messages ? (item.messages.filter((message) => !message.answer).length / item.messages.length) * 100 : 0}%` }}></div>
|
||||
<div className="absolute inset-0 flex items-center justify-center text-white font-bold">
|
||||
{item.messages ? item.messages.filter((message) => !message.answer).length : 0}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
|
||||
<div className="flex items-center justify-between">
|
||||
{editMode && (<>
|
||||
<button className="button btn-outline bg-red-500 hover:bg-red-700 focus:outline-none focus:shadow-outline" type="button" onClick={handleDelete}>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "smws",
|
||||
"version": "1.2.4",
|
||||
"version": "1.3.0",
|
||||
"private": true,
|
||||
"description": "SMWS | ССОМ | Специално Свидетелстване София",
|
||||
"repository": "http://git.d-popov.com/popov/next-cart-app.git",
|
||||
@@ -120,4 +120,4 @@
|
||||
"depcheck": "^1.4.7",
|
||||
"prisma": "^5.15.0"
|
||||
}
|
||||
}
|
||||
}
|
@@ -127,9 +127,6 @@ export default function DashboardPage({ initialItems, initialUserId, cartEvents,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// const showMessageToastNewModal = (messages, handleMessageOptionAnswer) => {
|
||||
// let currentMessageIndex = 0;
|
||||
|
||||
|
@@ -1,80 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `Publisher` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`firstName` VARCHAR(191) NOT NULL,
|
||||
`lastName` VARCHAR(191) NOT NULL,
|
||||
`email` VARCHAR(191) NOT NULL,
|
||||
`phone` VARCHAR(191) NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`age` INTEGER NULL,
|
||||
|
||||
UNIQUE INDEX `Publisher_email_key`(`email`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Availability` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`publisherId` INTEGER NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`dayofweek` ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') NOT NULL,
|
||||
`startTime` DATETIME(3) NOT NULL,
|
||||
`endTime` DATETIME(3) NOT NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `CartEvent` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`startTime` DATETIME(3) NOT NULL,
|
||||
`endTime` DATETIME(3) NOT NULL,
|
||||
`dayofweek` ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') NOT NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Shift` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`cartEventId` INTEGER NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`startTime` DATETIME(3) NOT NULL,
|
||||
`endTime` DATETIME(3) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`requiresTransport` BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Location` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`address` VARCHAR(191) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`dayofweek` ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') NOT NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `_PublisherToShift` (
|
||||
`A` INTEGER NOT NULL,
|
||||
`B` INTEGER NOT NULL,
|
||||
|
||||
UNIQUE INDEX `_PublisherToShift_AB_unique`(`A`, `B`),
|
||||
INDEX `_PublisherToShift_B_index`(`B`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Availability` ADD CONSTRAINT `Availability_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Shift` ADD CONSTRAINT `Shift_cartEventId_fkey` FOREIGN KEY (`cartEventId`) REFERENCES `CartEvent`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `_PublisherToShift` ADD CONSTRAINT `_PublisherToShift_A_fkey` FOREIGN KEY (`A`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `_PublisherToShift` ADD CONSTRAINT `_PublisherToShift_B_fkey` FOREIGN KEY (`B`) REFERENCES `Shift`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@@ -1,17 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- Added the required column `locationId` to the `CartEvent` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `shiftDuration` to the `CartEvent` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `isActive` BOOLEAN NOT NULL DEFAULT true;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `CartEvent` ADD COLUMN `isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
ADD COLUMN `locationId` INTEGER NOT NULL,
|
||||
ADD COLUMN `shiftDuration` INTEGER NOT NULL;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `CartEvent` ADD CONSTRAINT `CartEvent_locationId_fkey` FOREIGN KEY (`locationId`) REFERENCES `Location`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
@@ -1,12 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `dayofweek` on the `Location` table. All the data in the column will be lost.
|
||||
- Added the required column `date` to the `Shift` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Location` DROP COLUMN `dayofweek`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` ADD COLUMN `date` DATETIME(3) NOT NULL;
|
@@ -1,8 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `date` on the `Shift` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` DROP COLUMN `date`;
|
@@ -1,5 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `CartEvent` ADD COLUMN `eventType` ENUM('PW_Cart', 'KH_Cleaning') NOT NULL DEFAULT 'PW_Cart';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` ADD COLUMN `isTentaive` BOOLEAN NOT NULL DEFAULT false;
|
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the `_PublisherToShift` table. If the table is not empty, all the data it contains will be lost.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `_PublisherToShift` DROP FOREIGN KEY `_PublisherToShift_A_fkey`;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `_PublisherToShift` DROP FOREIGN KEY `_PublisherToShift_B_fkey`;
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE `_PublisherToShift`;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Assignment` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`shiftId` INTEGER NOT NULL,
|
||||
`publisherId` INTEGER NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_shiftId_fkey` FOREIGN KEY (`shiftId`) REFERENCES `Shift`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
@@ -1,11 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `isTentaive` on the `Shift` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment` ADD COLUMN `isTentaive` BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` DROP COLUMN `isTentaive`;
|
@@ -1,9 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `isTentaive` on the `Assignment` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment` DROP COLUMN `isTentaive`,
|
||||
ADD COLUMN `isTentative` BOOLEAN NOT NULL DEFAULT false;
|
@@ -1,23 +0,0 @@
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Assignment` DROP FOREIGN KEY `Assignment_publisherId_fkey`;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Assignment` DROP FOREIGN KEY `Assignment_shiftId_fkey`;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Availability` DROP FOREIGN KEY `Availability_publisherId_fkey`;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Shift` DROP FOREIGN KEY `Shift_cartEventId_fkey`;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Availability` ADD CONSTRAINT `Availability_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Shift` ADD CONSTRAINT `Shift_cartEventId_fkey` FOREIGN KEY (`cartEventId`) REFERENCES `CartEvent`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_shiftId_fkey` FOREIGN KEY (`shiftId`) REFERENCES `Shift`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@@ -1,75 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- The primary key for the `Publisher` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Assignment` DROP FOREIGN KEY `Assignment_publisherId_fkey`;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Availability` DROP FOREIGN KEY `Availability_publisherId_fkey`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment` MODIFY `publisherId` VARCHAR(191) NOT NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` MODIFY `publisherId` VARCHAR(191) NOT NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` DROP PRIMARY KEY,
|
||||
ADD COLUMN `emailVerified` DATETIME(3) NULL,
|
||||
MODIFY `id` VARCHAR(191) NOT NULL,
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Account` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`type` VARCHAR(191) NOT NULL,
|
||||
`provider` VARCHAR(191) NOT NULL,
|
||||
`providerAccountId` VARCHAR(191) NOT NULL,
|
||||
`refresh_token` VARCHAR(191) NULL,
|
||||
`access_token` VARCHAR(191) NULL,
|
||||
`expires_at` INTEGER NULL,
|
||||
`token_type` VARCHAR(191) NULL,
|
||||
`scope` VARCHAR(191) NULL,
|
||||
`id_token` VARCHAR(191) NULL,
|
||||
`session_state` VARCHAR(191) NULL,
|
||||
|
||||
UNIQUE INDEX `Account_provider_providerAccountId_key`(`provider`, `providerAccountId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Session` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`sessionToken` VARCHAR(191) NOT NULL,
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`expires` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `Session_sessionToken_key`(`sessionToken`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `VerificationToken` (
|
||||
`identifier` VARCHAR(191) NOT NULL,
|
||||
`token` VARCHAR(191) NOT NULL,
|
||||
`expires` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `VerificationToken_token_key`(`token`),
|
||||
UNIQUE INDEX `VerificationToken_identifier_token_key`(`identifier`, `token`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Availability` ADD CONSTRAINT `Availability_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Account` ADD CONSTRAINT `Account_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Session` ADD CONSTRAINT `Session_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@@ -1,8 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `dayOfMonth` INTEGER NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `CartEvent` ADD COLUMN `numberOfPublishers` INTEGER NOT NULL DEFAULT 3;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `role` ENUM('ADMIN', 'USER') NOT NULL DEFAULT 'USER';
|
@@ -1,3 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `desiredShiftsPerMonth` INTEGER NOT NULL DEFAULT 4,
|
||||
MODIFY `role` ENUM('ADMIN', 'USER', 'EXTERNAL') NOT NULL DEFAULT 'USER';
|
@@ -1,7 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `isMale` BOOLEAN NOT NULL DEFAULT true,
|
||||
ADD COLUMN `isNameForeign` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `parentId` VARCHAR(191) NULL;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher` ADD CONSTRAINT `Publisher_parentId_fkey` FOREIGN KEY (`parentId`) REFERENCES `Publisher`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `isImported` BOOLEAN NOT NULL DEFAULT false;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` ADD COLUMN `notes` VARCHAR(191) NULL;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `weekOfMonth` INTEGER NULL;
|
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `parentId` on the `Publisher` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Publisher` DROP FOREIGN KEY `Publisher_parentId_fkey`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment` ADD COLUMN `isWithTransport` BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` DROP COLUMN `parentId`,
|
||||
ADD COLUMN `familyHeadId` VARCHAR(191) NULL;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher` ADD CONSTRAINT `Publisher_familyHeadId_fkey` FOREIGN KEY (`familyHeadId`) REFERENCES `Publisher`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,8 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `isWithTransport` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `type` ENUM('Weekly', 'Monthly', 'OneTime', 'PreviousAssignment') NOT NULL DEFAULT 'Weekly';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `comments` VARCHAR(191) NULL,
|
||||
ADD COLUMN `town` VARCHAR(191) NULL,
|
||||
ADD COLUMN `type` ENUM('Publisher', 'Bethelite', 'RegularPioneer', 'SpecialPioneer', 'Missionary', 'CircuitOverseer') NOT NULL DEFAULT 'Publisher';
|
@@ -1,3 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `isFromPreviousAssignment` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `isFromPreviousMonth` BOOLEAN NOT NULL DEFAULT false;
|
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `emailVerified` on the `Publisher` table. All the data in the column will be lost.
|
||||
- A unique constraint covering the columns `[userId]` on the table `Publisher` will be added. If there are existing duplicate values, this will fail.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Account` DROP FOREIGN KEY `Account_userId_fkey`;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Session` DROP FOREIGN KEY `Session_userId_fkey`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` DROP COLUMN `emailVerified`,
|
||||
ADD COLUMN `userId` VARCHAR(191) NULL;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `User` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`name` VARCHAR(191) NULL,
|
||||
`email` VARCHAR(191) NULL,
|
||||
`emailVerified` DATETIME(3) NULL,
|
||||
`image` VARCHAR(191) NULL,
|
||||
`publisherId` VARCHAR(191) NULL,
|
||||
|
||||
UNIQUE INDEX `User_email_key`(`email`),
|
||||
UNIQUE INDEX `User_publisherId_key`(`publisherId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX `Publisher_userId_key` ON `Publisher`(`userId`);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher` ADD CONSTRAINT `Publisher_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Account` ADD CONSTRAINT `Account_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Session` ADD CONSTRAINT `Session_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@@ -1,2 +0,0 @@
|
||||
-- This is an empty migration.
|
||||
-- CREATE INDEX `Publisher_email_key` ON `Publisher` (email);
|
@@ -1,23 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` MODIFY `role` ENUM('ADMIN', 'POWERUSER', 'USER', 'EXTERNAL') NOT NULL DEFAULT 'USER';
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Report` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`date` DATETIME(3) NOT NULL,
|
||||
`publisherId` VARCHAR(191) NOT NULL,
|
||||
`assignmentId` INTEGER NOT NULL,
|
||||
`placementCount` INTEGER NOT NULL,
|
||||
`videoCount` INTEGER NOT NULL,
|
||||
`returnVisitInfoCount` INTEGER NOT NULL,
|
||||
`conversationCount` INTEGER NOT NULL,
|
||||
`experienceInfo` VARCHAR(191) NOT NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_assignmentId_fkey` FOREIGN KEY (`assignmentId`) REFERENCES `Assignment`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- Added the required column `locationId` to the `Report` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Report` DROP FOREIGN KEY `Report_assignmentId_fkey`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Report` ADD COLUMN `locationId` INTEGER NOT NULL,
|
||||
MODIFY `assignmentId` INTEGER NULL,
|
||||
MODIFY `placementCount` INTEGER NULL,
|
||||
MODIFY `videoCount` INTEGER NULL,
|
||||
MODIFY `returnVisitInfoCount` INTEGER NULL,
|
||||
MODIFY `conversationCount` INTEGER NULL,
|
||||
MODIFY `experienceInfo` VARCHAR(191) NULL;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_locationId_fkey` FOREIGN KEY (`locationId`) REFERENCES `Location`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_assignmentId_fkey` FOREIGN KEY (`assignmentId`) REFERENCES `Assignment`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Report` MODIFY `experienceInfo` LONGTEXT NULL;
|
@@ -1,8 +0,0 @@
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Report` DROP FOREIGN KEY `Report_locationId_fkey`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Report` MODIFY `locationId` INTEGER NULL;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_locationId_fkey` FOREIGN KEY (`locationId`) REFERENCES `Location`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,3 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `endDate` DATETIME(3) NULL,
|
||||
ADD COLUMN `repeatWeekly` BOOLEAN NULL;
|
@@ -1,32 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `isTentative` on the `assignment` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `assignmentId` on the `report` table. All the data in the column will be lost.
|
||||
- A unique constraint covering the columns `[publicGuid]` on the table `Assignment` will be added. If there are existing duplicate values, this will fail.
|
||||
- A unique constraint covering the columns `[reportId]` on the table `Shift` will be added. If there are existing duplicate values, this will fail.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE `Report` DROP FOREIGN KEY `Report_assignmentId_fkey`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment` DROP COLUMN `isTentative`,
|
||||
ADD COLUMN `isConfirmed` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `isMailSent` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `publicGuid` VARCHAR(191) NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Report` DROP COLUMN `assignmentId`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` ADD COLUMN `reportId` INTEGER NULL;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX `Assignment_publicGuid_key` ON `Assignment`(`publicGuid`);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX `Shift_reportId_key` ON `Shift`(`reportId`);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Shift` ADD CONSTRAINT `Shift_reportId_fkey` FOREIGN KEY (`reportId`) REFERENCES `Report`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,9 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Location` ADD COLUMN `backupLocationId` INTEGER NULL,
|
||||
ADD COLUMN `content` TEXT NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `isTrained` BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Location` ADD CONSTRAINT `Location_backupLocationId_fkey` FOREIGN KEY (`backupLocationId`) REFERENCES `Location`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,12 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `isActive` on the `assignment` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment` DROP COLUMN `isActive`,
|
||||
ADD COLUMN `isTentative` BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Location` MODIFY `content` LONGTEXT NULL;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `repeatFrequency` INTEGER NULL;
|
@@ -1,4 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Location` ADD COLUMN `picture1` VARCHAR(191) NULL,
|
||||
ADD COLUMN `picture2` VARCHAR(191) NULL,
|
||||
ADD COLUMN `picture3` VARCHAR(191) NULL;
|
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `isWithTransport` on the `Availability` table. All the data in the column will be lost.
|
||||
- The values [SpecialPioneer,Missionary,CircuitOverseer] on the enum `Publisher_type` will be removed. If these variants are still used in the database, this will fail.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` DROP COLUMN `isWithTransport`,
|
||||
ADD COLUMN `isWithTransportIn` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `isWithTransportOut` BOOLEAN NOT NULL DEFAULT false,
|
||||
MODIFY `type` ENUM('Weekly', 'Monthly', 'OneTime', 'PreviousAssignment', 'ReplacementOnly') NOT NULL DEFAULT 'Weekly';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` MODIFY `type` ENUM('Publisher', 'Bethelite', 'RegularPioneer', 'SpecialPioneer_Missionary') NOT NULL DEFAULT 'Publisher';
|
@@ -1,5 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `alwaysAsFamily` BOOLEAN NULL DEFAULT false;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Shift` ADD COLUMN `isPublished` BOOLEAN NOT NULL DEFAULT false;
|
@@ -1,18 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `dateOfEntry` DATETIME(3) NULL;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Message` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`publisherId` VARCHAR(191) NOT NULL,
|
||||
`date` DATETIME(3) NOT NULL,
|
||||
`content` VARCHAR(191) NOT NULL,
|
||||
`isRead` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isPublic` BOOLEAN NOT NULL DEFAULT false,
|
||||
`type` ENUM('Email', 'SMS', 'Push', 'InApp') NOT NULL DEFAULT 'Email',
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Message` ADD CONSTRAINT `Message_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
@@ -1,21 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `isTentative` on the `Assignment` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment`
|
||||
ADD COLUMN `isBySystem` BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
|
||||
-- Depending on your DBMS, you might need to execute one statement at a time.
|
||||
-- Especially, the UPDATE statement should be run separately.
|
||||
UPDATE `Assignment` SET `isBySystem` = isTentative;
|
||||
|
||||
-- Drop the isTentative column
|
||||
ALTER TABLE `Assignment` DROP COLUMN `isTentative`;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Report`
|
||||
ADD COLUMN `type` ENUM('ServiceReport', 'Experience', 'Feedback_Problem', 'Feedback_Suggestion', 'Feedback') NOT NULL DEFAULT 'ServiceReport';
|
@@ -1,5 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Availability` ADD COLUMN `parentAvailabilityId` INTEGER NULL;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Availability` ADD CONSTRAINT `Availability_parentAvailabilityId_fkey` FOREIGN KEY (`parentAvailabilityId`) REFERENCES `Availability`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,3 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `isSubscribedToCoverMe` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `isSubscribedToReminders` BOOLEAN NOT NULL DEFAULT false;
|
@@ -1,20 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `EventLog` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`date` DATETIME(3) NOT NULL,
|
||||
`publisherId` VARCHAR(191) NULL,
|
||||
`shiftId` INTEGER NULL,
|
||||
`content` VARCHAR(5000) NOT NULL,
|
||||
`type` ENUM('AssignmentReplacementRequested', 'AssignmentReplacementAccepted', 'SentEmail') NOT NULL,
|
||||
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `EventLog`
|
||||
ADD CONSTRAINT `EventLog_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `EventLog`
|
||||
ADD CONSTRAINT `EventLog_shiftId_fkey` FOREIGN KEY (`shiftId`) REFERENCES `Shift` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `lastLogin` DATETIME(3) NULL;
|
@@ -1,3 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `User`
|
||||
ADD COLUMN `passwordHashLocalAccount` VARCHAR(191) NULL;
|
@@ -1,5 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `EventLog`
|
||||
MODIFY `type` ENUM(
|
||||
'AssignmentReplacementRequested', 'AssignmentReplacementAccepted', 'SentEmail', 'PasswordResetRequested', 'PasswordResetEmailConfirmed', 'PasswordResetCompleted'
|
||||
) NOT NULL;
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher` ADD COLUMN `pushSubscription` JSON NULL;
|
@@ -1,33 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Assignment`
|
||||
ADD COLUMN `originalPublisherId` VARCHAR(191) NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Message` ADD COLUMN `publicUntil` DATETIME(3) NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Publisher`
|
||||
ADD COLUMN `congregationId` INTEGER NULL,
|
||||
ADD COLUMN `locale` VARCHAR(191) NULL DEFAULT 'bg';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `Report` ADD COLUMN `comments` VARCHAR(191) NULL;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Congregation` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`address` VARCHAR(191) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher`
|
||||
ADD CONSTRAINT `Publisher_congregationId_fkey` FOREIGN KEY (`congregationId`) REFERENCES `Congregation` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment`
|
||||
ADD CONSTRAINT `Assignment_originalPublisherId_fkey` FOREIGN KEY (`originalPublisherId`) REFERENCES `Publisher` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
@@ -1,19 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `EventLog`
|
||||
MODIFY `type` ENUM(
|
||||
'AssignmentReplacementManual', 'AssignmentReplacementRequested', 'AssignmentReplacementAccepted', 'SentEmail', 'PasswordResetRequested', 'PasswordResetEmailConfirmed', 'PasswordResetCompleted'
|
||||
) NOT NULL;
|
||||
|
||||
INSERT INTO
|
||||
`Congregation`
|
||||
VALUES (1, 'Перник', '', 1),
|
||||
(2, 'София Люлин', '', 1),
|
||||
(3, 'София Юг', '', 1),
|
||||
(4, 'София Надежда', '', 1),
|
||||
(5, 'София Руски', '', 1),
|
||||
(6, 'София Факултета', '', 1),
|
||||
(7, 'София Изток', '', 1),
|
||||
(8, 'София Младост', '', 1),
|
||||
(9, 'София Английски', '', 1),
|
||||
(10, 'Ботевград', '', 1),
|
||||
(11, 'София Дружба', '', 1);
|
@@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `User` ADD COLUMN `emailVerifyToken` VARCHAR(191) NULL;
|
@@ -1,9 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `Settings` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`key` VARCHAR(191) NOT NULL,
|
||||
`value` VARCHAR(191) NOT NULL,
|
||||
`description` VARCHAR(191) NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
@@ -1,10 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
- The primary key for the `settings` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- You are about to drop the column `id` on the `settings` table. All the data in the column will be lost.
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE `Settings`
|
||||
DROP PRIMARY KEY,
|
||||
DROP COLUMN `id`,
|
||||
ADD PRIMARY KEY (`key`);
|
@@ -1,22 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `Message`
|
||||
ADD COLUMN `answer` VARCHAR(191) NULL,
|
||||
ADD COLUMN `answerDate` DATETIME(3) NULL,
|
||||
ADD COLUMN `shownDate` DATETIME(3) NULL,
|
||||
ADD COLUMN `surveyId` INTEGER NULL;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Survey` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`content` VARCHAR(191) NOT NULL,
|
||||
`answers` JSON NULL,
|
||||
`publicFrom` DATETIME(3) NULL,
|
||||
`publicUntil` DATETIME(3) NULL,
|
||||
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Message`
|
||||
ADD CONSTRAINT `Message_surveyId_fkey` FOREIGN KEY (`surveyId`) REFERENCES `Survey` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@@ -0,0 +1,313 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `Publisher` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`firstName` VARCHAR(191) NOT NULL,
|
||||
`lastName` VARCHAR(191) NOT NULL,
|
||||
`email` VARCHAR(191) NOT NULL,
|
||||
`phone` VARCHAR(191) NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`isImported` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isTrained` BOOLEAN NOT NULL DEFAULT false,
|
||||
`age` INTEGER NULL,
|
||||
`userId` VARCHAR(191) NULL,
|
||||
`role` ENUM('ADMIN', 'POWERUSER', 'USER', 'EXTERNAL') NOT NULL DEFAULT 'USER',
|
||||
`desiredShiftsPerMonth` INTEGER NOT NULL DEFAULT 4,
|
||||
`isMale` BOOLEAN NOT NULL DEFAULT true,
|
||||
`isNameForeign` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isSubscribedToCoverMe` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isSubscribedToReminders` BOOLEAN NOT NULL DEFAULT false,
|
||||
`familyHeadId` VARCHAR(191) NULL,
|
||||
`alwaysAsFamily` BOOLEAN NULL DEFAULT false,
|
||||
`type` ENUM('Publisher', 'Bethelite', 'RegularPioneer', 'SpecialPioneer_Missionary') NOT NULL DEFAULT 'Publisher',
|
||||
`town` VARCHAR(191) NULL,
|
||||
`comments` VARCHAR(191) NULL,
|
||||
`lastLogin` DATETIME(3) NULL,
|
||||
`pushSubscription` JSON NULL,
|
||||
`congregationId` INTEGER NULL,
|
||||
`locale` VARCHAR(191) NULL DEFAULT 'bg',
|
||||
|
||||
UNIQUE INDEX `Publisher_email_key`(`email`),
|
||||
UNIQUE INDEX `Publisher_userId_key`(`userId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Congregation` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`address` VARCHAR(191) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Availability` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`publisherId` VARCHAR(191) NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`dayofweek` ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') NOT NULL,
|
||||
`dayOfMonth` INTEGER NULL,
|
||||
`weekOfMonth` INTEGER NULL,
|
||||
`startTime` DATETIME(3) NOT NULL,
|
||||
`endTime` DATETIME(3) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`type` ENUM('Weekly', 'Monthly', 'OneTime', 'PreviousAssignment', 'ReplacementOnly') NOT NULL DEFAULT 'Weekly',
|
||||
`isWithTransportIn` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isWithTransportOut` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isFromPreviousAssignment` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isFromPreviousMonth` BOOLEAN NOT NULL DEFAULT false,
|
||||
`repeatWeekly` BOOLEAN NULL,
|
||||
`repeatFrequency` INTEGER NULL,
|
||||
`endDate` DATETIME(3) NULL,
|
||||
`dateOfEntry` DATETIME(3) NULL,
|
||||
`parentAvailabilityId` INTEGER NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `CartEvent` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`startTime` DATETIME(3) NOT NULL,
|
||||
`endTime` DATETIME(3) NOT NULL,
|
||||
`shiftDuration` INTEGER NOT NULL,
|
||||
`dayofweek` ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`locationId` INTEGER NOT NULL,
|
||||
`eventType` ENUM('PW_Cart', 'KH_Cleaning') NOT NULL DEFAULT 'PW_Cart',
|
||||
`numberOfPublishers` INTEGER NOT NULL DEFAULT 3,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Shift` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`cartEventId` INTEGER NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`startTime` DATETIME(3) NOT NULL,
|
||||
`endTime` DATETIME(3) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`requiresTransport` BOOLEAN NOT NULL DEFAULT false,
|
||||
`notes` VARCHAR(191) NULL,
|
||||
`reportId` INTEGER NULL,
|
||||
`isPublished` BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
UNIQUE INDEX `Shift_reportId_key`(`reportId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Assignment` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`shiftId` INTEGER NOT NULL,
|
||||
`publisherId` VARCHAR(191) NOT NULL,
|
||||
`isBySystem` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isConfirmed` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isWithTransport` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isMailSent` BOOLEAN NOT NULL DEFAULT false,
|
||||
`publicGuid` VARCHAR(191) NULL,
|
||||
`originalPublisherId` VARCHAR(191) NULL,
|
||||
|
||||
UNIQUE INDEX `Assignment_publicGuid_key`(`publicGuid`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Location` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`address` VARCHAR(191) NOT NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
`content` LONGTEXT NULL,
|
||||
`picture1` VARCHAR(191) NULL,
|
||||
`picture2` VARCHAR(191) NULL,
|
||||
`picture3` VARCHAR(191) NULL,
|
||||
`backupLocationId` INTEGER NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Report` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`date` DATETIME(3) NOT NULL,
|
||||
`publisherId` VARCHAR(191) NOT NULL,
|
||||
`locationId` INTEGER NULL,
|
||||
`placementCount` INTEGER NULL,
|
||||
`videoCount` INTEGER NULL,
|
||||
`returnVisitInfoCount` INTEGER NULL,
|
||||
`conversationCount` INTEGER NULL,
|
||||
`experienceInfo` LONGTEXT NULL,
|
||||
`type` ENUM('ServiceReport', 'Experience', 'Feedback_Problem', 'Feedback_Suggestion', 'Feedback') NOT NULL DEFAULT 'ServiceReport',
|
||||
`comments` VARCHAR(191) NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Survey` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`content` VARCHAR(191) NOT NULL,
|
||||
`answers` JSON NULL,
|
||||
`publicFrom` DATETIME(3) NULL,
|
||||
`publicUntil` DATETIME(3) NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Message` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`publisherId` VARCHAR(191) NOT NULL,
|
||||
`date` DATETIME(3) NOT NULL,
|
||||
`content` VARCHAR(191) NOT NULL,
|
||||
`isRead` BOOLEAN NOT NULL DEFAULT false,
|
||||
`isPublic` BOOLEAN NOT NULL DEFAULT false,
|
||||
`type` ENUM('Email', 'SMS', 'Push', 'InApp') NOT NULL DEFAULT 'Email',
|
||||
`publicUntil` DATETIME(3) NULL,
|
||||
`shownDate` DATETIME(3) NULL,
|
||||
`answer` VARCHAR(191) NULL,
|
||||
`answerDate` DATETIME(3) NULL,
|
||||
`surveyId` INTEGER NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `EventLog` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`date` DATETIME(3) NOT NULL,
|
||||
`publisherId` VARCHAR(191) NULL,
|
||||
`shiftId` INTEGER NULL,
|
||||
`content` VARCHAR(5000) NOT NULL,
|
||||
`type` ENUM('AssignmentReplacementManual', 'AssignmentReplacementRequested', 'AssignmentReplacementAccepted', 'SentEmail', 'PasswordResetRequested', 'PasswordResetEmailConfirmed', 'PasswordResetCompleted') NOT NULL,
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `User` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`name` VARCHAR(191) NULL,
|
||||
`email` VARCHAR(191) NULL,
|
||||
`emailVerifyToken` VARCHAR(191) NULL,
|
||||
`emailVerified` DATETIME(3) NULL,
|
||||
`image` VARCHAR(191) NULL,
|
||||
`passwordHashLocalAccount` VARCHAR(191) NULL,
|
||||
`publisherId` VARCHAR(191) NULL,
|
||||
|
||||
UNIQUE INDEX `User_email_key`(`email`),
|
||||
UNIQUE INDEX `User_publisherId_key`(`publisherId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Account` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`type` VARCHAR(191) NOT NULL,
|
||||
`provider` VARCHAR(191) NOT NULL,
|
||||
`providerAccountId` VARCHAR(191) NOT NULL,
|
||||
`refresh_token` VARCHAR(191) NULL,
|
||||
`access_token` VARCHAR(191) NULL,
|
||||
`expires_at` INTEGER NULL,
|
||||
`token_type` VARCHAR(191) NULL,
|
||||
`scope` VARCHAR(191) NULL,
|
||||
`id_token` VARCHAR(191) NULL,
|
||||
`session_state` VARCHAR(191) NULL,
|
||||
|
||||
UNIQUE INDEX `Account_provider_providerAccountId_key`(`provider`, `providerAccountId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Session` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`sessionToken` VARCHAR(191) NOT NULL,
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`expires` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `Session_sessionToken_key`(`sessionToken`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `VerificationToken` (
|
||||
`identifier` VARCHAR(191) NOT NULL,
|
||||
`token` VARCHAR(191) NOT NULL,
|
||||
`expires` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `VerificationToken_token_key`(`token`),
|
||||
UNIQUE INDEX `VerificationToken_identifier_token_key`(`identifier`, `token`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Settings` (
|
||||
`key` VARCHAR(191) NOT NULL,
|
||||
`value` VARCHAR(191) NOT NULL,
|
||||
`description` VARCHAR(191) NULL,
|
||||
|
||||
PRIMARY KEY (`key`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher` ADD CONSTRAINT `Publisher_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher` ADD CONSTRAINT `Publisher_familyHeadId_fkey` FOREIGN KEY (`familyHeadId`) REFERENCES `Publisher`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Publisher` ADD CONSTRAINT `Publisher_congregationId_fkey` FOREIGN KEY (`congregationId`) REFERENCES `Congregation`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Availability` ADD CONSTRAINT `Availability_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Availability` ADD CONSTRAINT `Availability_parentAvailabilityId_fkey` FOREIGN KEY (`parentAvailabilityId`) REFERENCES `Availability`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `CartEvent` ADD CONSTRAINT `CartEvent_locationId_fkey` FOREIGN KEY (`locationId`) REFERENCES `Location`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Shift` ADD CONSTRAINT `Shift_cartEventId_fkey` FOREIGN KEY (`cartEventId`) REFERENCES `CartEvent`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Shift` ADD CONSTRAINT `Shift_reportId_fkey` FOREIGN KEY (`reportId`) REFERENCES `Report`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_shiftId_fkey` FOREIGN KEY (`shiftId`) REFERENCES `Shift`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Assignment` ADD CONSTRAINT `Assignment_originalPublisherId_fkey` FOREIGN KEY (`originalPublisherId`) REFERENCES `Publisher`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Location` ADD CONSTRAINT `Location_backupLocationId_fkey` FOREIGN KEY (`backupLocationId`) REFERENCES `Location`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Report` ADD CONSTRAINT `Report_locationId_fkey` FOREIGN KEY (`locationId`) REFERENCES `Location`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Message` ADD CONSTRAINT `Message_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Message` ADD CONSTRAINT `Message_surveyId_fkey` FOREIGN KEY (`surveyId`) REFERENCES `Survey`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `EventLog` ADD CONSTRAINT `EventLog_publisherId_fkey` FOREIGN KEY (`publisherId`) REFERENCES `Publisher`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `EventLog` ADD CONSTRAINT `EventLog_shiftId_fkey` FOREIGN KEY (`shiftId`) REFERENCES `Shift`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Account` ADD CONSTRAINT `Account_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Session` ADD CONSTRAINT `Session_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
Reference in New Issue
Block a user