57 lines
2.1 KiB
SQL
57 lines
2.1 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `User` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`username` VARCHAR(191) NOT NULL,
|
|
`email` VARCHAR(191) NOT NULL,
|
|
`password` VARCHAR(191) NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`lastSeen` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
UNIQUE INDEX `User_username_key`(`username`),
|
|
UNIQUE INDEX `User_email_key`(`email`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Session` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`userId` INTEGER NOT NULL,
|
|
`authorized` BOOLEAN NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`expiresAt` DATETIME(3) NOT NULL,
|
|
`remoteAddress` VARCHAR(191) NULL,
|
|
|
|
UNIQUE INDEX `Session_id_key`(`id`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `UserSettings` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`userId` INTEGER NOT NULL,
|
|
`newPostsPublic` BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
UNIQUE INDEX `UserSettings_userId_key`(`userId`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Upload` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`uploaderId` INTEGER NOT NULL,
|
|
`fileName` VARCHAR(191) NOT NULL,
|
|
`public` BOOLEAN NOT NULL DEFAULT false,
|
|
`uploaded` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
UNIQUE INDEX `Upload_fileName_key`(`fileName`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Session` ADD CONSTRAINT `Session_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `UserSettings` ADD CONSTRAINT `UserSettings_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Upload` ADD CONSTRAINT `Upload_uploaderId_fkey` FOREIGN KEY (`uploaderId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|