34565-vm/db/setup.php
Flatlogic Bot 6e7a1d506c version 1
2025-10-01 16:09:01 +00:00

107 lines
3.8 KiB
PHP

<?php
require_once 'config.php';
try {
$pdo = db();
// Create beasiswa table
$pdo->exec("CREATE TABLE IF NOT EXISTS beasiswa (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
organizer VARCHAR(255) NOT NULL,
description TEXT,
deadline DATE,
status ENUM('Open', 'Closed') DEFAULT 'Open',
link VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB;");
// Create lomba table
$pdo->exec("CREATE TABLE IF NOT EXISTS lomba (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
organizer VARCHAR(255) NOT NULL,
category VARCHAR(100),
description TEXT,
deadline DATE,
link VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB;");
// Create artikel table
$pdo->exec("CREATE TABLE IF NOT EXISTS artikel (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
category VARCHAR(100),
content TEXT,
author VARCHAR(100),
published_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB;");
// Seed Beasiswa
$stmt = $pdo->prepare("INSERT INTO beasiswa (title, organizer, description, deadline, status, link) VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE title=title;");
$stmt->execute([
'Beasiswa Bank Indonesia (GenBI)',
'Bank Indonesia',
'Program beasiswa untuk mahasiswa S1 terpilih dari berbagai perguruan tinggi di Indonesia. Penerima akan menjadi anggota Generasi Baru Indonesia (GenBI).',
'2025-10-15',
'Open',
'https://www.bi.go.id/id/bi-dan-publik/program-edukasi/default.aspx'
]);
$stmt->execute([
'Beasiswa LPDP 2025 Tahap 2',
'Lembaga Pengelola Dana Pendidikan',
'Beasiswa penuh untuk jenjang S2 dan S3 di dalam dan luar negeri. Mencakup biaya pendidikan, biaya hidup, dan tunjangan lainnya.',
'2025-09-30',
'Open',
'https://lpdp.kemenkeu.go.id/'
]);
$stmt->execute([
'Beasiswa Kemitraan Negara Berkembang (KNB)',
'Kemendikbudristek',
'Beasiswa bagi mahasiswa internasional dari negara berkembang untuk belajar di universitas-universitas di Indonesia.',
'2025-08-20',
'Closed',
'http://knb.kemdikbud.go.id/'
]);
// Seed Lomba
$stmt = $pdo->prepare("INSERT INTO lomba (title, organizer, category, description, deadline, link) VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE title=title;");
$stmt->execute([
'Lomba Desain UI/UX Nasional 2025',
'Tech Innovators Community',
'Desain',
'Kompetisi desain antarmuka pengguna untuk aplikasi mobile dengan tema "Pendidikan Inklusif".',
'2025-11-01',
'#'
]);
$stmt->execute([
'National Business Plan Competition',
'Universitas Gadjah Mada',
'Bisnis',
'Ajang bagi mahasiswa untuk menyusun dan mempresentasikan rencana bisnis inovatif dan berkelanjutan.',
'2025-10-25',
'#'
]);
// Seed Artikel
$stmt = $pdo->prepare("INSERT INTO artikel (title, category, content, author) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE title=title;");
$stmt->execute([
'5 Tips Jitu Menulis Motivation Letter Beasiswa',
'Beasiswa',
'Motivation letter adalah kunci... (isi konten lengkap di sini)',
'Tim ScholarMatch'
]);
$stmt->execute([
'Strategi Memenangkan Lomba Business Plan',
'Kompetisi',
'Untuk menang, ide Anda harus... (isi konten lengkap di sini)',
'Mentor Ahli'
]);
echo "Database setup and seeding completed successfully!";
} catch (PDOException $e) {
die("Database error: " . $e->getMessage());
}
?>