# Strapi Migration Scripts

This directory contains scripts to migrate content from one Strapi server to another.

## Prerequisites

1. Node.js installed
2. Access to both old and new Strapi servers
3. API token for the new Strapi server (if authentication is required)

## Setup

1. Create a `.env` file in the project root (or set environment variables):

```env

NEW_STRAPI_URL=https://your-new-strapi-server.com
NEW_STRAPI_API_TOKEN=your-api-token-here
```

## Usage

### Export Only

Export content from the old Strapi server:

```bash
node scripts/migrate-strapi.js export
```

This will create a `strapi-export` directory with JSON files containing all content.

### Import Only

Import previously exported content to the new Strapi server:

```bash
node scripts/migrate-strapi.js import
```

### Full Migration

Export and import in one command:

```bash
node scripts/migrate-strapi.js migrate
```

## Content Types Migrated

The script migrates the following content types:
- `schoolforschools` - Main hero section content
- `whyschoolforschools` - Why SFS section content

## Notes

- The script handles Strapi v4 format by default
- Media files (images) are not automatically migrated - you'll need to manually upload them or use Strapi's media library migration tools
- Relations between content types may need manual adjustment after migration
- Always test the migration on a staging server first

## Troubleshooting

### Authentication Errors

If you get 401/403 errors, make sure:
- `NEW_STRAPI_API_TOKEN` is set correctly
- The API token has proper permissions in Strapi
- The content type permissions allow creation via API

### Missing Content

If some content doesn't migrate:
- Check the console output for specific errors
- Verify the content type names match exactly
- Ensure `populate=*` is working on the source server

### Media Files

Media files need separate handling:
1. Export media files from old Strapi
2. Upload to new Strapi media library
3. Update media references in migrated content


