feat: Docker部署与CI/CD集成, 搜索栏修复, 上传目录改为data
This commit is contained in:
94
prisma/migrations/20251125075143_init/migration.sql
Normal file
94
prisma/migrations/20251125075143_init/migration.sql
Normal file
@@ -0,0 +1,94 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `User` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`username` VARCHAR(50) NOT NULL,
|
||||
`password` VARCHAR(255) NULL,
|
||||
`avatarUrl` VARCHAR(500) NULL,
|
||||
`role` ENUM('USER', 'ADMIN', 'CREATOR') NOT NULL DEFAULT 'USER',
|
||||
`status` ENUM('ACTIVE', 'BANNED', 'FLAGGED') NOT NULL DEFAULT 'ACTIVE',
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`lastLogin` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `User_username_key`(`username`),
|
||||
INDEX `User_username_idx`(`username`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Material` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`title` VARCHAR(100) NOT NULL,
|
||||
`description` TEXT NOT NULL,
|
||||
`type` ENUM('CODE', 'ASSET_ZIP', 'VIDEO') NOT NULL,
|
||||
`contentUrl` VARCHAR(500) NULL,
|
||||
`codeSnippet` LONGTEXT NULL,
|
||||
`language` VARCHAR(20) NULL,
|
||||
`views` INTEGER NOT NULL DEFAULT 0,
|
||||
`downloads` INTEGER NOT NULL DEFAULT 0,
|
||||
`authorId` VARCHAR(191) NOT NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
INDEX `Material_type_idx`(`type`),
|
||||
INDEX `Material_authorId_idx`(`authorId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Comment` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`content` VARCHAR(1000) NOT NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`authorId` VARCHAR(191) NOT NULL,
|
||||
`materialId` VARCHAR(191) NOT NULL,
|
||||
|
||||
INDEX `Comment_materialId_idx`(`materialId`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Favorite` (
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`materialId` VARCHAR(191) NOT NULL,
|
||||
|
||||
PRIMARY KEY (`userId`, `materialId`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `Tag` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `Tag_name_key`(`name`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `_MaterialToTag` (
|
||||
`A` VARCHAR(191) NOT NULL,
|
||||
`B` INTEGER NOT NULL,
|
||||
|
||||
UNIQUE INDEX `_MaterialToTag_AB_unique`(`A`, `B`),
|
||||
INDEX `_MaterialToTag_B_index`(`B`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Material` ADD CONSTRAINT `Material_authorId_fkey` FOREIGN KEY (`authorId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Comment` ADD CONSTRAINT `Comment_authorId_fkey` FOREIGN KEY (`authorId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Comment` ADD CONSTRAINT `Comment_materialId_fkey` FOREIGN KEY (`materialId`) REFERENCES `Material`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Favorite` ADD CONSTRAINT `Favorite_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Favorite` ADD CONSTRAINT `Favorite_materialId_fkey` FOREIGN KEY (`materialId`) REFERENCES `Material`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `_MaterialToTag` ADD CONSTRAINT `_MaterialToTag_A_fkey` FOREIGN KEY (`A`) REFERENCES `Material`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `_MaterialToTag` ADD CONSTRAINT `_MaterialToTag_B_fkey` FOREIGN KEY (`B`) REFERENCES `Tag`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
3
prisma/migrations/migration_lock.toml
Normal file
3
prisma/migrations/migration_lock.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (i.e. Git)
|
||||
provider = "mysql"
|
||||
Reference in New Issue
Block a user