Nxtgauge Backend Services
Find a file
Ashwin Kumar Sivakumar 94a8a1096a fix: three more already-deployed migrations unconditionally ALTERed tables that were never created
Following the reference_numbers fix, audited every active (non .skip)
migration for the same failure shape — ALTER/CREATE TRIGGER against
lead_requests, tracecoin_wallets, tracecoin_ledger, or job_applications
without ever creating them — since this codebase has a repeated pattern
of table-creation migrations getting silently disabled (renamed .skip)
after the code that depends on them was already written. Found three
more, ALL already pushed to origin, meaning they've likely been
breaking the migration chain since the date each was deployed:

- 20260317195000_profession_specific_profiles.up.sql (Mar 17) — ALTERs
  lead_requests twice. Earliest failure point found for the lead_requests
  chain. Now self-creates a minimal lead_requests table first (no FK to
  `leads`, which isn't created until June 10 — well after this migration).
- 20260318233000_tracecoin_ledger_immutable.up.sql (Mar 18) — creates
  immutability triggers ON tracecoin_ledger, assuming it exists. Now
  self-creates tracecoin_wallets/tracecoin_ledger first, matching the
  column names (transaction_type/reference_type) the Rust code actually
  uses — the only schema that ever existed for these tables (in a
  disabled .skip migration) used stale names (type/reason).
- 20260425000000_ai_usage.up.sql (Apr 25) — ALTERs job_applications
  inside a BEGIN/COMMIT block, so this failure was also rolling back
  company_ai_usage/job_seeker_ai_usage creation in the same file. Now
  self-creates job_applications first.

Each later migration that also touches these tables (this session's
customer/job-seeker/lead_requests fixes) now uses ADD COLUMN IF NOT
EXISTS instead of assuming its own CREATE TABLE ran, so the schema
converges to the same end state regardless of which migration actually
created the table first.

Every touched migration uses IF NOT EXISTS / idempotent guards
throughout, so this is safe to apply whether or not any of these tables
already exist in the real database.
2026-07-21 02:18:23 +05:30
.cargo fix: update jsonwebtoken 9.3→10.3, add audit.toml to ignore local crate false positives, fix cache/ollama.rs compile errors 2026-05-31 18:25:38 +05:30
.forgejo fix(ci): sort registry prune by real image build time, protect current SHA 2026-07-17 05:38:27 +05:30
.gitea/workflows ci(forgejo): update backend build pipeline 2026-07-03 19:51:37 +05:30
.github/workflows ci: remove GitHub Actions workflow - using Forgejo CI exclusively 2026-07-06 04:19:40 +05:30
.mavis/plans feat: add LiteLLM support and auto-apply cron job 2026-06-14 18:00:38 +02:00
.sqlx chore: checkpoint workspace updates 2026-04-26 23:58:43 +02:00
apps fix: customer document submission and profile verification 2026-07-21 01:39:25 +05:30
crates fix: three more already-deployed migrations unconditionally ALTERed tables that were never created 2026-07-21 02:18:23 +05:30
docs feat(ai): complete AI plans/credits implementation and build tooling 2026-06-15 06:15:49 +05:30
load-tests feat(emails): complete email system with 35 branded templates and full wiring 2026-04-10 04:49:39 +02:00
scripts fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
tests fix: resolve all compilation warnings and errors across services 2026-04-07 12:52:55 +02:00
.env.example feat(emails): complete email system with 35 branded templates and full wiring 2026-04-10 04:49:39 +02:00
.env.test111 fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
.gitignore fix: track Cargo.lock (required for reproducible Docker builds) 2026-04-09 02:09:11 +02:00
cargo-deny.toml feat: extend admin/user flows with settings, verification, and approval updates 2026-04-08 22:40:54 +02:00
Cargo.lock fix: customer document submission and profile verification 2026-07-21 01:39:25 +05:30
Cargo.toml feat: profile photo upload, PDF resume generation, AI auto-apply, schema fixes 2026-07-02 13:31:06 +02:00
companies.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
customers.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
DEPLOYMENT_OPTIMIZATION.md feat(deployment): add optimized build system for faster deployments 2026-04-10 05:14:27 +02:00
docker-compose.yml fix(docker-compose): switch from GHCR to Forgejo registry 2026-07-06 03:52:35 +05:30
Dockerfile.base fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.fast fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.from-binary feat(woodpecker): use internal registry docker-registry.registry.svc.cluster.local:5000 2026-04-10 17:39:26 +02:00
Dockerfile.migrate fix(migrate): fix db-migrate build and job manifest, both broken 2026-07-19 03:07:26 +05:30
Dockerfile.optimized fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.simple perf(ci): cache cargo registry and target dir across image builds 2026-07-16 21:07:33 +05:30
Dockerfile.superfast fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.template fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.ultrafast fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.working fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
gateway.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
job_seekers.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
k8s-migration-job.yaml fix(migrate): fix db-migrate build and job manifest, both broken 2026-07-19 03:07:26 +05:30
README.md trigger: force build all services with high-performance-latest tag 2026-06-12 03:45:06 +05:30
start-services.pid chore: checkpoint workspace updates 2026-04-26 23:58:43 +02:00
start-services.sh Update backend services: catering_services, companies, developers, gateway, job_seekers, photographers, social_media_managers, tutors, ugc_content_creators, users; update cache (otp, token), contracts (profession_shared, profession_state), db (job_seeker, verification), email; add revision-requested email template; update init-db.sql and start-services.sh 2026-05-08 15:34:29 +02:00
TESTING_STRATEGY.md fix: resolve all compilation warnings and errors across services 2026-04-07 12:52:55 +02:00
users.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
wir.md docs: add work implementation roadmap (wir.md) 2026-04-06 22:26:45 +02:00

NXTGAUGE Backend Rust

Rust migration target for nxtgauge-nov-2025-backend, preserving the same microservices and request flow.

Target Service Topology

  • gateway (HTTP API)
  • users (identity, runtime roles, onboarding, approvals)
  • companies
  • customers
  • professionals
  • jobseekers

Migration Policy

  • Keep contracts stable (REST + proto semantics).
  • Keep runtime-config and onboarding schema behavior unchanged during parity phases.
  • Replace service implementations one by one.

See docs/MIGRATION_MASTER_PLAN.md for full staged plan.

CI (Woodpecker)

Required secrets:

  • REGISTRY_USERNAME
  • REGISTRY_PASSWORD

See .forgejo/workflows/README.md for details.

Trigger build Fri Jun 12 03:45:06 AM IST 2026