You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
Database Documentation
Terakhir Diperbarui: 2026-06-29
Koneksi Database
| Connection Name | Driver | Host | Database | Dipakai Untuk |
|---|---|---|---|---|
pgsql (default) |
PostgreSQL | audit-postgres (container) |
databaselist_app |
App metadata, user meta, tokens, settings |
audit |
PostgreSQL | audit-postgres (container) |
databaselist_audit |
Audit log aktivitas |
project_search |
PostgreSQL | 10.100.1.25 (external) |
geonet_project_search |
Indeks AI project search (Fase Ollama) |
mssql |
SQL Server | 10.100.1.25:1433 |
master |
Database registry (read-only) |
DB_CONNECTION=pgsqldicompose.yamloverride nilai di.env. Jangan ubah ke sqlite.
Database: databaselist_app (PostgreSQL App)
Tabel Utama
| Tabel | Model | Keterangan |
|---|---|---|
ldap_user_meta |
LdapUserMeta |
Metadata user LDAP (avatar, settings, last login) |
ldap_group_meta |
LdapGroupMeta |
Metadata group LDAP |
database_connections |
DatabaseConnection |
Registry database (SQL Server, PostgreSQL, dll.) |
service_tokens |
ServiceToken |
Token antar-service (sync ke GeoNetAgent) |
api_tokens |
ApiToken |
Personal API token per user |
oauth_access_tokens |
— | Laravel Passport/Sanctum tokens |
oauth_personal_access_clients |
— | OAuth clients |
ldap_user_meta
| Kolom | Tipe | Keterangan |
|---|---|---|
id |
bigint PK | |
username |
varchar UNIQUE | LDAP username |
avatar |
varchar nullable | Path relatif di OSS: avatars/<filename> |
display_name |
varchar nullable | |
email |
varchar nullable | |
department |
varchar nullable | |
last_login_at |
timestamp nullable | Terakhir login |
created_at |
timestamp | |
updated_at |
timestamp |
service_tokens
| Kolom | Tipe | Keterangan |
|---|---|---|
id |
bigint PK | |
name |
varchar | Nama token |
service |
varchar | Nama service pemilik |
token |
varchar UNIQUE | Token value (hashed) |
abilities |
json | Scopes/abilities |
expires_at |
timestamp nullable | |
last_used_at |
timestamp nullable | |
revoked_at |
timestamp nullable | |
created_at |
timestamp |
Database: databaselist_audit (Audit Log)
audit_logs
| Kolom | Tipe | Keterangan |
|---|---|---|
id |
bigint PK | |
actor |
varchar | Username atau service yang melakukan aksi |
actor_type |
varchar | user, api_token, service_token |
action |
varchar | Nama aksi (mis. ldap.user.update) |
target_type |
varchar nullable | Resource yang diubah |
target_id |
varchar nullable | ID resource |
payload |
json nullable | Data sebelum/sesudah perubahan |
ip_address |
varchar nullable | |
created_at |
timestamp |
Migration
Cara Menjalankan Migration
Migration berjalan otomatis saat container start via docker/entrypoint.sh.
Untuk manual:
docker exec geonet-console php artisan migrate --force
Catatan Penting
- Migration
project_searchDB membutuhkan koneksi ke10.100.1.25— jika tidak reachable, container tetap start tapi log warning muncul. - Jangan jalankan
migrate:freshdi production. - OAuth keys di-generate otomatis dan disimpan di Docker volume
app_storage.
Akses Database (Lokal)
# Masuk ke container PostgreSQL
docker exec -it audit-postgres psql -U geonet_app -d databaselist_app
# Dari server 10.100.1.24
ssh -m hmac-sha1 root@10.100.1.24 -p 22
docker exec -it audit-postgres psql -U geonet_app -d databaselist_app
SQL Server (Registry Read-Only)
SQL Server di 10.100.1.25:1433 digunakan oleh geonet-console hanya untuk membaca daftar database (database registry). Tidak ada write ke SQL Server dari geonet-console.
Driver: pdo_sqlsrv (terinstall di container via Dockerfile)
Lihat Juga
geonet-console/database/migrations/— semua migration filesgeonet-console/config/database.php— konfigurasi koneksigeonet-console/.env.example— env vars database