mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-27 04:07:45 +00:00
sys_app is one row per installed application. It is physically deleted on uninstall rather than following the millisecond soft-delete marker the other sys_ tables use: an installed-app registry has no "deleted by accident, needs recovering" case, and a physical delete is what lets the same code be installed again afterwards. status is installing/installed/failed rather than a boolean, because an install spanning several migration files is not atomic on MySQL - DDL commits implicitly, so a run can stop in the middle. failed_version and last_error are diagnostic snapshots for a person to read; nothing may decide anything from them, and the field comments say so. Where to resume is answered by sys_migration, which cannot drift from what was actually applied. sys_app_casbin_grant records which casbin_rule rows an install created, keyed by casbin_rule's own natural key. That table is not extended instead: gorm-adapter's SavePolicy truncates and reloads it from an in-memory model, which would drop any column added here without a word. Built against SQLite, MySQL 8.0 and PostgreSQL 15.