Jadi saya sudah menggunakan [[ https://we.phorge.it | Phorge ]] sejak 2026 awal. Sebagai informasi, Phorge adalah sempalan (//fork//) dari Phabricator. Berbeda dengan Gitlab, Github, atau Gitea/Forgejo, Phorge ini adalah koleksi aplikasi-aplikasi yang berdiri sendiri seperti repositori (Diffusion), //code review// (Differential), manajemen tugas/isu (Maniphest), platform blog/diskusi (Phame) yang sedang kamu lihat saat ini serta masih banyak lagi. Sampai postingan ini ditulis saya telah menggunakan Maniphest, Paste, Phriction (wiki), Phame, dan Phurl (pemendek dan markah URL).
Pada 5-6 Agustus, saya memperbaharui Phorge ke //branch// stabil terbaru (2026.07) untuk pertama kalinya semenjak menghos Phorge. Pembaharuan ini [[ https://we.phorge.it/w/changelog/2026.07 | membawa beberapa perubahan ]] yang terdiri dari fitur baru, penyempurnaan antarmuka, dan perbaikan kekutu. Sebagai informasi, saya memasang Phorge tidak menggunakan kontainer tetapi secara manual jadi saya melakukan //upgrade// dengan mengikuti langkah-langkah di ((phorgeupgrade)). Proses pembaharuan ini saya dokumentasikan sebagai tugas Maniphest T142.
Sampai tahap ketiga dimana saya menjalankan perintah `git pull` di `arcanist` dan `phorge`, semua tampak baik-baik saja. Setelah memastikan `git pull` berhasil, saya melanjutkan ke tahap selanjutnya yaitu memperbaharui skema basis data. Caranya cukup dengan menjalankan perintah `bin/storage upgrade` di repositori `phorge`.
Beberapa saat kemudian, sesuatu yang mengerikan muncul di konsol terminal...
```
Storage is up to date. Use 'storage status' for details.
Verifying database schemata...
Found no adjustments for schemata.
Target Error
phabricator_xhpast Missing
SCHEMATA ERRORS
The schemata have errors (detailed above) which the adjustment workflow can
not fix.
If you are not developing Phabricator itself, report this issue to the
upstream.
If you are developing Phabricator, these errors usually indicate that your
schema specifications do not agree with the schemata your code actually
builds.
```
{meme, src=screamcat}
Dari apa yang saya baca dan pahami, perintah `bin/storage upgrade` komplain soal basis data `phabricator_xhpast` yang hilang atau tidak ada. Hal yang pertama kali saya lakukan adalah mengecek apakah basis data tersebut benar-benar tidak ada.
```
nawan@narayana:~$ mysql -u phorge -p -h localhost phabricator_xhpast -e "SHOW TABLES LIKE 'phpast_parsetree';"
Enter password:
+-------------------------------------------------+
| Tables_in_phabricator_xhpast (phpast_parsetree) |
+-------------------------------------------------+
| phpast_parsetree |
+-------------------------------------------------+
```
Lihat? Basis data `phabricator_xhpast` jelas ada dan bisa diakses. Tapi kenapa saat menjalankan `bin/storage upgrade`, terjadi error bahwa `phabricator_xhpast` hilang atau tidak ada? AI? Saya sudah coba bertanya menggunakan Claude tapi malah berhalusinasi dengan memberikan solusi yang benar-benar tidak masuk akal seperti menghapus basis data `phabricator_xhpast`. Saat itu waktu sudah larut dan saya tidak mau mengawakutu lebih lanjut, jadi saya mengetikkan perintah berikut ke terminal:
```
bin/storage destroy
```
{meme, src=nuke, below="THE END"}
Tenang, saya cuma bercanda, hehe. Saya sudah menyiapkan cadangan sebelum menjatuhkan bom tentu saja. Ini bisa dilakukan dengan menjalankan perintah `./bin/storage dump --compress --output backup.sql.gz`.
Saya lalu menjalankan `bin/storage upgrade` lagi untuk membuat basis data yang baru. Kemudian saya mengimpor data dari cadangan yang telah ada dengan menjalankan `gunzip -c backup.sql.gz | sudo mysql`. Tak lupa saya menjalankan `bin/storage upgrade` lagi untuk memastikan bahwa tidak ada masalah. Sungguh beruntung, galat tadi sudah tidak muncuk lagi. Saya kemudian menjalankan kembali daemon dengan `systemctl start phorge-phd` dan `systemctl start phorge-aphlict`, tak lupa saya menjalankan kembali php-fpm dan nginx.
Saat yang ditunggu-tunggu pun telah tiba. Sebuah momen penentuan.
{meme, src=beluga, below="IT WORKS"}
Jika kamu sedang membaca postingan blog ini, ingatlah bahwa postingan blog ini ditenagai oleh Phorge versi stabil yang paling terkini: 2026.07.
(NOTE) Kalau kalian melihat error di atas, dianjurkan untuk melaporkan itu ke //upstream//. Saya mungkin bakal melaporkannya ke //upstream//. Namun untuk sekarang setidaknya //instance// Phorge saya berjalan dengan lancar.