geocrop-platform./apps/nextgen
fchinembiri 653f149923
Build and Push Docker Images / deploy (push) Blocked by required conditions Details
Build and Push Docker Images / build (web) (push) Successful in 4m44s Details
Build and Push Docker Images / build (api) (push) Failing after 24m44s Details
Build and Push Docker Images / build (musicseerr) (push) Failing after 24m44s Details
Build and Push Docker Images / build (nextgen) (push) Successful in 13m48s Details
Build and Push Docker Images / build (worker) (push) Has been cancelled Details
feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card)
2026-07-31 18:12:41 +02:00
..
.gitea/workflows feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
.harness feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
.uat-output feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
client feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
demo feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
docs feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
evidence feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
logo feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
scripts feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
server feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
sql feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
superadmin feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
tests feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
tools feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
.dockerignore feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
.env.example feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
.gitignore feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
.tmp_uat_egov.js feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
AGENTS.md feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
DATABASE_SCHEMA.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
DOCKER_README.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
DYNAMIC_FONT_SIZING_LAYOUT.md feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
Dockerfile feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
FETCH_HEAD feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
GEMINI.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
IMPLEMENTATION_SUMMARY.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
ISSUES.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
NextGen_Learning_UAT_Workbook - UAT Test Cases.csv feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
PORTS.md feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
README.md feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
SCREENS.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
SUPERADMIN_MULTITENANT_DOCUMENTATION.md feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
datacontrol.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
deliverable.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
docker-compose.yml feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
docker-entrypoint.sh feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
dynamic_font_sizing_test.md feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
egovernancecertificate.md feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
modals.md feat(nextgen): sync latest dev code and primary school UAT seeder 2026-07-30 21:20:19 +02:00
new_table.txt feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
package-lock.json feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
package.json feat(nextgen): sync latest dev features (AttendanceHub, Digital Consents, Tenant Management) and restore missing nav links (Classes, Teachers, Transfer Wizard, Report Card) 2026-07-31 18:12:41 +02:00
pr-resp.json feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
qa-testing-uat-plan.md feat(nextgen): sync latest next-gen code release and features to monorepo 2026-07-28 14:38:29 +02:00
supabase_audit_report.md feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
supabase_migration_v2.sql feat(nextgen): sync commit 95fbb92 (FR-SMS3 Legacy CSV Data Ingestion Wizard & SRS fixes) to monorepo 2026-07-28 16:09:57 +02:00
tea.exe feat: deploy nextgen app to next-gen.techarvest.co.zw 2026-06-08 16:27:07 +02:00

README.md

Supabase migration v2

Prerequisites

  • A backup of the live Supabase database.
  • SQL Editor access as a role allowed to create extensions, tables, policies, and storage policies.
  • Supabase schemas/roles (auth, storage, authenticated, anon, service_role) must exist for the RLS/storage sections.
  • Review supabase_audit_report.md, especially the commented drop candidates.

Strategy

  1. CREATE: preserve the cloud UUID tenants root and create only Knex-defined tables missing from cloud with CREATE TABLE IF NOT EXISTS.
  2. ALTER: add follow-up migration columns and inject tenant_id UUID REFERENCES tenants(id) ON DELETE CASCADE only where absent.
  3. RLS: index every domain tenant_id, enable RLS, and recreate tenant-isolation plus service-role policies idempotently.

Apply

Run supabase_migration_v2.sql once in the Supabase SQL Editor. It is designed for one execution and safe re-execution. The DROP section is entirely commented; do not uncomment it without a backup and code-usage review.

SHOULD-DROP review

  • assignment_submissions: overlaps submissions; no inbound dump FK, outbound to assignments/users; verify code usage.
  • attendance_new: canonical table is attendance; no inbound dump FK, outbound to users/subjects_new.
  • calendar_events: canonical table is events; no inbound dump FK, outbound to users; verify calendar code.
  • edutainment_content: no inbound dump FK, outbound to subjects_new/users; verify feature retirement.
  • edutainment_sessions: outbound to edutainment_games/users; drop before or with games.
  • edutainment_games: inbound from edutainment_sessions; requires sessions-first or CASCADE; outbound to subjects_new/users.
  • messages_new: canonical table is messages; no inbound dump FK, outbound to users; verify messaging code.

subjects_new must not be dropped: Knex explicitly creates it and multiple dump FKs target it.

Rollback

There is no automatic destructive rollback. Restore the pre-migration backup for a full rollback. For a targeted rollback, drop only newly created tables in reverse dependency order and remove policies/indexes/tenant_id columns only after confirming no tenant data depends on them. The seed can be removed with:

DELETE FROM tenants WHERE id = '5b39bcb5-506a-456d-b7cb-91730b397cc1';

Verification

SELECT tablename, rowsecurity
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY tablename;

Also verify tenant columns and indexes:

SELECT table_name
FROM information_schema.columns
WHERE table_schema = 'public' AND column_name = 'tenant_id'
ORDER BY table_name;

Tenant UUID alignment

The Knex migration and cloud schema both use UUID tenant IDs. The default test tenant is 5b39bcb5-506a-456d-b7cb-91730b397cc1, and the SuperAdmin controller generates UUIDv4 IDs for new tenants.