4 min lecture • Guide 570 of 877
How to Use GitScrum for Database Development Projects?
How to use GitScrum for database development projects?
Manage database work in GitScrum with dedicated labels (database, migration), coordinate with application code using dependencies, and document schema decisions in NoteVault. Track migrations separately, ensure deployment order, and review data changes. Coordinated database work reduces deployment failures by 50% [Source: Database Operations Research 2024].
Database workflow:
- Design schema - Document in NoteVault
- Create tasks - Migration + app changes
- Label - Database, migration labels
- Link tasks - Dependencies
- Develop - Write migrations
- Test - Local and staging
- Deploy - DB first, app second
Database labels
| Label | Purpose |
|---|---|
| type-database | All DB work |
| migration | Schema changes |
| data-migration | Data transforms |
| index | Index changes |
| performance | Query optimization |
Migration task template
## Migration: [description]
### Changes
- Add column X to table Y
- Create index on Z
### Checklist
- [ ] Write migration
- [ ] Write rollback
- [ ] Test locally
- [ ] Review migration
- [ ] Deploy to staging
- [ ] Verify staging
- [ ] Deploy to production
- [ ] Verify production
NoteVault database documentation
| Document | Content |
|---|---|
| Schema overview | Entity relationships |
| Naming conventions | Standards |
| Migration log | Change history |
| Performance guides | Query optimization |
| Backup/restore | Procedures |
Deployment order
| Scenario | Order |
|---|---|
| New column | DB → App (reads new) |
| Remove column | App (stops using) → DB |
| New table | DB → App |
| Rename | New → App → Remove old |
Backward compatible changes
| Change | Approach |
|---|---|
| Add column | Nullable or default |
| Add table | No impact |
| Add index | Background if large |
| Remove column | Multi-step |
Breaking change workflow
| Step | Action |
|---|---|
| 1 | Add new (backward compatible) |
| 2 | Deploy app using new |
| 3 | Migrate data if needed |
| 4 | Remove old in separate deploy |
Migration review checklist
| Check | Verify |
|---|---|
| Rollback exists | Can undo |
| Tested locally | Works |
| Performance | Acceptable on large data |
| Locking | Minimal lock time |
| Dependencies | Order correct |
Coordination with app teams
| Task | Responsibility |
|---|---|
| Schema design | DBA + Dev |
| Migration writing | Dev |
| Migration review | DBA |
| Deployment | DevOps |
| Verification | QA + DBA |
Common database issues
| Issue | Solution |
|---|---|
| Long-running migration | Test on data copy |
| Missing rollback | Require in PR |
| App/DB mismatch | Linked tasks |
| Lost changes | Migration log |
Database task examples
| Task | Type |
|---|---|
| Add user preferences table | migration |
| Add index on orders.created_at | index |
| Migrate user types to enum | data-migration |
| Optimize slow query | performance |