feat: inisialisasi schema database
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `user` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`email` VARCHAR(255) NOT NULL,
|
||||
`password_hash` TEXT NOT NULL,
|
||||
`role` ENUM('ADMIN', 'STUDENT') NOT NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `user_email_key`(`email`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `admin` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`id_user` VARCHAR(191) NOT NULL,
|
||||
`nama_depan` VARCHAR(255) NOT NULL,
|
||||
`nama_belakang` VARCHAR(255) NULL,
|
||||
|
||||
UNIQUE INDEX `admin_id_user_key`(`id_user`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `mahasiswa` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`id_user` VARCHAR(191) NOT NULL,
|
||||
`nama_depan` VARCHAR(255) NOT NULL,
|
||||
`nama_belakang` VARCHAR(255) NULL,
|
||||
`kontak` VARCHAR(255) NOT NULL,
|
||||
`jurusan` VARCHAR(255) NOT NULL,
|
||||
`universitas` VARCHAR(255) NOT NULL,
|
||||
`negara` VARCHAR(255) NOT NULL,
|
||||
`cv_path` TEXT NOT NULL,
|
||||
`portofolio_path` TEXT NOT NULL,
|
||||
`motivasi` TEXT NOT NULL,
|
||||
`relevant_skills` VARCHAR(255) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `mahasiswa_id_user_key`(`id_user`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `batch` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`batch_number` INTEGER NOT NULL,
|
||||
`is_active` BOOLEAN NOT NULL DEFAULT false,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `batch_batch_number_key`(`batch_number`),
|
||||
INDEX `batch_is_active_idx`(`is_active`),
|
||||
INDEX `batch_batch_number_idx`(`batch_number`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `lowongan_magang` (
|
||||
`id` VARCHAR(255) NOT NULL,
|
||||
`id_batch` INTEGER NOT NULL,
|
||||
`posisi` VARCHAR(255) NOT NULL,
|
||||
`kelompok_peminatan` VARCHAR(255) NOT NULL,
|
||||
`image_path` TEXT NOT NULL,
|
||||
`jobdesk` TEXT NOT NULL,
|
||||
`lokasi` VARCHAR(255) NOT NULL,
|
||||
`kualifikasi` TEXT NOT NULL,
|
||||
`benefit` TEXT NOT NULL,
|
||||
`durasi_awal` DATE NOT NULL,
|
||||
`durasi_akhir` DATE NOT NULL,
|
||||
`status_lowongan` ENUM('DIBUKA', 'DITUTUP') NOT NULL,
|
||||
`paid` ENUM('PAID', 'UNPAID') NOT NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `lowongan_magang_id_batch_foreign`(`id_batch`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `lamaran_magang` (
|
||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||
`id_mahasiswa` INTEGER NOT NULL,
|
||||
`id_lowongan_magang` VARCHAR(255) NOT NULL,
|
||||
`status` ENUM('DITERIMA', 'DIPROSES', 'DITOLAK') NOT NULL,
|
||||
`batch` INTEGER NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
|
||||
INDEX `lamaran_magang_id_mahasiswa_foreign`(`id_mahasiswa`),
|
||||
INDEX `lamaran_magang_id_lowongan_magang_foreign`(`id_lowongan_magang`),
|
||||
INDEX `lamaran_magang_batch_idx`(`batch`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `admin` ADD CONSTRAINT `admin_id_user_foreign` FOREIGN KEY (`id_user`) REFERENCES `user`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `mahasiswa` ADD CONSTRAINT `mahasiswa_id_user_foreign` FOREIGN KEY (`id_user`) REFERENCES `user`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `lowongan_magang` ADD CONSTRAINT `lowongan_magang_id_batch_foreign` FOREIGN KEY (`id_batch`) REFERENCES `batch`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `lamaran_magang` ADD CONSTRAINT `lamaran_magang_batch_foreign` FOREIGN KEY (`batch`) REFERENCES `batch`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `lamaran_magang` ADD CONSTRAINT `lamaran_magang_id_mahasiswa_foreign` FOREIGN KEY (`id_mahasiswa`) REFERENCES `mahasiswa`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `lamaran_magang` ADD CONSTRAINT `lamaran_magang_id_lowongan_magang_foreign` FOREIGN KEY (`id_lowongan_magang`) REFERENCES `lowongan_magang`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
Reference in New Issue
Block a user