-- 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;