112 lines
4.3 KiB
SQL
112 lines
4.3 KiB
SQL
-- 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;
|