Spaces:
Paused
Paused
Download scripts/migrateHostEligibilityStatus.js from imkrish/campverse-backend: direct link, hf CLI and curl.
- Browser
- Download file 1.7 kB
-
https://huggingface.co/spaces/imkrish/campverse-backend/resolve/main/scripts/migrateHostEligibilityStatus.js
- Command line
-
hf download hf://spaces/imkrish/campverse-backend/scripts/migrateHostEligibilityStatus.js
-
curl -L -o migrateHostEligibilityStatus.js https://huggingface.co/spaces/imkrish/campverse-backend/resolve/main/scripts/migrateHostEligibilityStatus.js
1.7 kB
| /** | |
| * Migration Script: Add hostEligibilityStatus to existing users | |
| * Run this script once to add the hostEligibilityStatus field to all users who don't have it | |
| */ | |
| const mongoose = require('mongoose'); | |
| const User = require('../Models/User'); | |
| require('dotenv').config(); | |
| async function migrateHostEligibilityStatus() { | |
| try { | |
| // Connect to MongoDB | |
| await mongoose.connect(process.env.MONGO_URI || 'mongodb://localhost:27017/campverse', { | |
| useNewUrlParser: true, | |
| useUnifiedTopology: true, | |
| }); | |
| console.log('Connected to MongoDB'); | |
| // Find all users without hostEligibilityStatus or with null/undefined hostEligibilityStatus | |
| const usersToUpdate = await User.find({ | |
| $or: [ | |
| { hostEligibilityStatus: { $exists: false } }, | |
| { hostEligibilityStatus: null }, | |
| { 'hostEligibilityStatus.status': { $exists: false } } | |
| ] | |
| }); | |
| console.log(`Found ${usersToUpdate.length} users to update`); | |
| // Update each user with default hostEligibilityStatus | |
| let updatedCount = 0; | |
| for (const user of usersToUpdate) { | |
| await User.findByIdAndUpdate(user._id, { | |
| $set: { | |
| hostEligibilityStatus: { status: 'none' } | |
| } | |
| }); | |
| updatedCount++; | |
| if (updatedCount % 100 === 0) { | |
| console.log(`Updated ${updatedCount} users...`); | |
| } | |
| } | |
| console.log(`Migration completed! Updated ${updatedCount} users.`); | |
| // Close connection | |
| await mongoose.connection.close(); | |
| console.log('Database connection closed'); | |
| process.exit(0); | |
| } catch (error) { | |
| console.error('Migration failed:', error); | |
| process.exit(1); | |
| } | |
| } | |
| // Run migration | |
| migrateHostEligibilityStatus(); | |