Compare commits
No commits in common. "4e2c99d4dd9020504b1e7cd49413fe264056ffe1" and "77872311e64fb30a903fb367602a3b622f5166df" have entirely different histories.
4e2c99d4dd
...
77872311e6
2 changed files with 5 additions and 33 deletions
12
README.md
12
README.md
|
|
@ -133,12 +133,7 @@ config/
|
||||||
|
|
||||||
The `openneo_id` database is a legacy from when authentication was a separate service ("OpenNeo ID") meant to unify auth across multiple OpenNeo projects. DTI was the only project that succeeded, so the apps were merged—but the database split remains for now.
|
The `openneo_id` database is a legacy from when authentication was a separate service ("OpenNeo ID") meant to unify auth across multiple OpenNeo projects. DTI was the only project that succeeded, so the apps were merged—but the database split remains for now.
|
||||||
|
|
||||||
**Implications**:
|
**Implication**: Rails is configured for multi-database mode. User auth models live in `auth_user.rb` and connect to `openneo_id`.
|
||||||
- Rails is configured for multi-database mode
|
|
||||||
- User auth models live in `auth_user.rb` and connect to `openneo_id`
|
|
||||||
- **⚠️ CRITICAL**: Impress 2020 also directly accesses both `openneo_impress` and `openneo_id` databases via SQL
|
|
||||||
- **Database migrations affecting these schemas must consider Impress 2020's direct access**
|
|
||||||
- See [docs/impress-2020-dependencies.md](./docs/impress-2020-dependencies.md) for full details on this dependency
|
|
||||||
|
|
||||||
### Rails/React Hybrid
|
### Rails/React Hybrid
|
||||||
|
|
||||||
|
|
@ -154,10 +149,7 @@ The goal is to simplify this over time—either consolidate into Rails+Turbo, or
|
||||||
|
|
||||||
- **Main app**: VPS running Rails (Puma, MySQL)
|
- **Main app**: VPS running Rails (Puma, MySQL)
|
||||||
- **Impress 2020**: Separate VPS in same datacenter (NextJS, GraphQL, headless browser for images)
|
- **Impress 2020**: Separate VPS in same datacenter (NextJS, GraphQL, headless browser for images)
|
||||||
- **Shared databases**: Both services directly access the same MySQL databases over the network
|
- Both services share the same MySQL database (Impress 2020 makes SQL calls over the network)
|
||||||
- `openneo_impress` - Main application data
|
|
||||||
- `openneo_id` - Authentication data
|
|
||||||
- ⚠️ **Any database schema changes must be compatible with both services**
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -135,33 +135,14 @@ This is the most complex migration:
|
||||||
|
|
||||||
- **Main Rails app**: Primary VPS server, serves web traffic and API
|
- **Main Rails app**: Primary VPS server, serves web traffic and API
|
||||||
- **Impress 2020**: Separate VPS in same datacenter, provides GraphQL API and image services
|
- **Impress 2020**: Separate VPS in same datacenter, provides GraphQL API and image services
|
||||||
- **Databases**: Two MySQL databases on main Rails server, **both accessed directly by Impress 2020**:
|
- **Database**: MySQL on main Rails server, accessed by both services
|
||||||
- `openneo_impress` - Main application data (items, pets, outfits, etc.)
|
- **OpenNeo ID database**: Separate MySQL database (legacy, could be merged)
|
||||||
- `openneo_id` - Authentication data (user accounts, passwords, OAuth)
|
|
||||||
|
|
||||||
**CRITICAL**: Impress 2020 directly queries both databases via SQL. Any database consolidation must wait until Impress 2020 is retired, or both services must be updated in a coordinated deployment.
|
|
||||||
|
|
||||||
### After Full Migration
|
### After Full Migration
|
||||||
|
|
||||||
- **Single Rails app**: One VPS serving everything
|
- **Single Rails app**: One VPS serving everything
|
||||||
- **Image service**: Either integrated into Rails or extracted as a simple microservice
|
- **Image service**: Either integrated into Rails or extracted as a simple microservice
|
||||||
- **Single MySQL database**: Can merge `openneo_id` into `openneo_impress` once Impress 2020 is retired
|
- **Single MySQL database**: Merge OpenNeo ID schema into main database
|
||||||
- See `feature/consolidate-auth-database` branch for implementation
|
|
||||||
- Migration is ready but BLOCKED on Impress 2020 retirement
|
|
||||||
|
|
||||||
## Database Consolidation Blocker
|
|
||||||
|
|
||||||
**IMPORTANT**: A database consolidation migration exists on the `feature/consolidate-auth-database` branch that would merge the `openneo_id` database into `openneo_impress`. However, **this migration is blocked** because:
|
|
||||||
|
|
||||||
1. **Impress 2020 uses both databases directly** for authentication and user queries
|
|
||||||
2. Consolidating now would break Impress 2020's login functionality
|
|
||||||
3. The migration can only proceed after Impress 2020 is fully retired
|
|
||||||
|
|
||||||
**Options to unblock:**
|
|
||||||
- **Preferred**: Complete Impress 2020 retirement first (Priority 1-3 migrations above)
|
|
||||||
- **Alternative**: Coordinate simultaneous deployment of both services during maintenance window
|
|
||||||
|
|
||||||
See `docs/database-consolidation-deployment.md` (on feature branch) for full deployment plan.
|
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
|
|
@ -169,7 +150,6 @@ See `docs/database-consolidation-deployment.md` (on feature branch) for full dep
|
||||||
- Many API calls have been successfully migrated from GraphQL to REST
|
- Many API calls have been successfully migrated from GraphQL to REST
|
||||||
- The GraphQL dependency is primarily in the core outfit rendering logic
|
- The GraphQL dependency is primarily in the core outfit rendering logic
|
||||||
- Support tools are the lowest priority since they're staff-only
|
- Support tools are the lowest priority since they're staff-only
|
||||||
- Database consolidation is ready but awaiting Impress 2020 retirement
|
|
||||||
|
|
||||||
## See Also
|
## See Also
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue