# Debug Property Status Issue

## Steps to Debug

### 1. Check Database Column Type

```sql
-- Connect to database
sudo -u postgres psql -d nre

-- Check the actual column definition
\d properties

-- Or check column details
SELECT 
    column_name, 
    data_type, 
    is_nullable,
    column_default
FROM information_schema.columns 
WHERE table_name = 'properties' 
  AND column_name = 'status';
```

### 2. Check Actual Data

```sql
-- See all status values with counts
SELECT status, COUNT(*) as count
FROM properties
GROUP BY status
ORDER BY status;

-- Check for NULL or empty
SELECT COUNT(*) as null_count
FROM properties
WHERE status IS NULL OR status = '';

-- Check for invalid values
SELECT id, title, status
FROM properties
WHERE status NOT IN ('upcoming', 'ongoing', 'completed')
   OR status IS NULL;
```

### 3. Check Strapi Schema vs Database

The schema says status should be:
- Type: enumeration
- Values: ["upcoming", "ongoing", "completed"]
- Required: false (just changed)
- Default: "upcoming"

### 4. Clear Strapi Cache and Rebuild

```bash
cd /path/to/nrel-cms

# Clear cache
rm -rf .cache .strapi dist build

# Rebuild
npm run build

# Restart
pm2 restart nrel-cms
```

### 5. Check Strapi Logs

```bash
pm2 logs nrel-cms --lines 100 | grep -i "status\|validation\|error"
```

### 6. Test Direct Database Update

```sql
-- Update specific property (elvion-by-navana)
UPDATE properties 
SET status = 'upcoming' 
WHERE slug = 'elvion-by-navana';

-- Verify
SELECT id, title, slug, status 
FROM properties 
WHERE slug = 'elvion-by-navana';
```

### 7. Check if Status Field Exists in Database

```sql
-- List all columns
SELECT column_name 
FROM information_schema.columns 
WHERE table_name = 'properties'
ORDER BY ordinal_position;
```

## Possible Issues

1. **Database column doesn't exist** - Need to run migration
2. **Column type mismatch** - Database has different type than schema
3. **Strapi cache** - Old schema cached
4. **Case sensitivity** - Status values have wrong case
5. **Whitespace** - Status values have leading/trailing spaces
6. **Draft/Publish conflict** - Since `draftAndPublish: true`, might be conflict

## Quick Test

Try creating a NEW property with status = "upcoming" to see if the issue is only with existing data or also with new entries.

