4.9 KiB
4.9 KiB
🔑 Admin Credentials - Setup Guide
⚠️ IMPORTANT BEFORE YOU START
Sebelum menjalankan migration, pastikan Anda punya backup database atau tahu email/password admin yang ingin dipertahankan.
📋 Current Admins in Database
Lihat daftar admin saat ini dengan:
php artisan tinker
# Lihat semua user
>>> User::all()
# Lihat user dengan role admin
>>> User::where('role', 'admin')->get()
# Lihat user dengan role user (akan dihapus)
>>> User::where('role', 'user')->get()
🗑️ What Migration Will Do
Cleanup Migration (2025_02_05_cleanup_users_admin_only.php) akan:
// 1. Hapus semua user dengan role 'user'
DB::table('users')->where('role', 'user')->delete();
// 2. Set role 'admin' untuk semua user yang tersisa
DB::table('users')->update(['role' => 'admin']);
⚡ Langkah-Langkah Setup
BACKUP DULU! (Sangat Penting)
# Export database (sebelum migration)
# MySQL:
mysqldump -u root -p klasifikasi_tomat > backup_before_cleanup.sql
# Atau backup via phpMyAdmin
Jalankan Migration
cd c:\Project\klasifikasi-tomat
php artisan migrate
Verify Hasil
php artisan tinker
# Check semua user adalah admin
>>> User::pluck('role')
=> Illuminate\Support\Collection {
0 => "admin",
1 => "admin",
2 => "admin",
}
# Count total
>>> User::count()
=> 3
# Check no 'user' role exists
>>> User::where('role', 'user')->count()
=> 0 // Should be 0
👥 Admin Accounts to Keep
Tentukan mana admin yang ingin dipertahankan:
| Password | Keep? | |
|---|---|---|
| admin1@gmail.com | ????? | ✅ |
| admin@gmail.com | ????? | ✅ |
| roihan@gmail.com | ????? | ⚠️ ? |
| tomat@gmail.com | ????? | ⚠️ ? |
🔧 If You Need to Keep Non-Admin Users
Jika ada user 'user' yang ingin dipertahankan, jangan jalankan migration!
Alternatif:
Option A: Ubah role menjadi admin (Recommended)
UPDATE users SET role = 'admin' WHERE email = 'user_email@gmail.com';
Option B: Jalankan manual cleanup
-- Hapus user tertentu saja
DELETE FROM users WHERE id = 5;
-- Set admin role untuk sisanya
UPDATE users SET role = 'admin' WHERE role != 'admin';
✅ Default Admin Credentials
Setelah migration selesai:
Login URL: http://localhost:8000/admin/login
Admin Accounts (dari database):
- admin1@gmail.com (password: sesuai database)
- admin@gmail.com (password: sesuai database)
- roihan@gmail.com (password: sesuai database) - jika dipertahankan
🆕 Tambah Admin Baru Setelah Setup
Gunakan admin panel di: /admin/manage-admin
1. Login dengan admin existing
2. Pergi ke "Kelola Akun Admin"
3. Click "Tambah Admin"
4. Isi form:
- Nama: [nama lengkap]
- Email: [email admin baru]
- Password: [password]
- Role: Admin (fixed)
5. Click "Simpan"
Atau gunakan tinker:
php artisan tinker
>>> User::create([
'name' => 'Admin Baru',
'email' => 'admin.baru@gmail.com',
'password' => Hash::make('password123'),
'role' => 'admin',
'email_verified_at' => now()
])
🔐 Reset Admin Password
Jika lupa password admin:
php artisan tinker
>>> $admin = User::where('email', 'admin@gmail.com')->first()
>>> $admin->update(['password' => Hash::make('new_password')])
>>> exit
📊 Database Snapshot Sebelum Migration
Jalankan ini sebelum migration:
php artisan tinker
# Export semua user sebelum cleanup
>>> $users = User::all();
>>> $users->toJson()
# Copy hasil untuk backup
⚠️ Troubleshooting
Q: Migration gagal
A:
php artisan migrate:status # Lihat status migration
php artisan migrate --step # Run one migration at a time
php artisan migrate:reset # Reset semua migration
php artisan migrate # Jalankan lagi
Q: Lupa password admin
A:
php artisan tinker
>>> User::find(1)->update(['password' => Hash::make('new_password')])
Q: Perlu restore dari backup
A:
# Restore database dari SQL backup
mysql -u root -p klasifikasi_tomat < backup_before_cleanup.sql
Q: Ingin undo migration
A:
php artisan migrate:rollback --step=1
# Jika perlu rollback semua:
php artisan migrate:reset
📋 Admin Setup Checklist
- Backup database sebelum migration
- Tentukan admin mana yang ingin dipertahankan
- Jalankan
php artisan migrate - Verify dengan
php artisan tinker - Test login dengan admin account
- Test add/edit/delete admin
- Test upload & classification
- Semuanya working ✅
🎯 Summary
Admin-Only System sudah siap!
✅ Database akan di-cleanup (remove 'user' role)
✅ Semua user akan menjadi 'admin'
✅ System fokus pada administrator saja
✅ Manual admin creation via panel atau tinker
✅ No public user registration
Next: Jalankan php artisan migrate dan ikuti verification steps! 🚀