There are several ways to seed your database with sample data from sample-db/db.sqlite3.
# Backup current database (optional)
cp pilot-backend/db.sqlite3 pilot-backend/db.sqlite3.backup
# Copy sample database
cp sample-db/db.sqlite3 pilot-backend/db.sqlite3
# Restart containers
docker-compose -f docker-compose.dev.yml restart backendUse the provided script to import only specific tables:
docker exec wagtail-backend sh -c "cd /app && ./seed_database.sh"This will import:
- ✅ Pages (homepage, content pages)
- ✅ Images
- ✅ Navigation menus
- ✅ Footer data
- ✅ Team members (if any)
- ✅ FAQ items (if any)
- Export data from sample database:
# In sample-db directory with sample database
docker run --rm -v $(pwd)/sample-db:/data python:3.10 sh -c "
pip install django wagtail &&
cd /data &&
python manage.py dumpdata --natural-foreign --natural-primary \
wagtailcore.page home content navigation footer team faq taxonomy \
> sample_fixture.json
"- Load into current database:
docker exec wagtail-backend python manage.py loaddata /path/to/sample_fixture.jsonCopy specific table data using SQLite:
# Attach sample database and copy tables
docker exec wagtail-backend sqlite3 db.sqlite3 "
ATTACH DATABASE '../sample-db/db.sqlite3' AS sample;
-- Copy pages
INSERT OR REPLACE INTO wagtailcore_page SELECT * FROM sample.wagtailcore_page;
INSERT OR REPLACE INTO home_homepage SELECT * FROM sample.home_homepage;
-- Copy navigation
INSERT OR REPLACE INTO navigation_navigationmenu SELECT * FROM sample.navigation_navigationmenu;
INSERT OR REPLACE INTO navigation_menuitem SELECT * FROM sample.navigation_menuitem;
-- Copy images
INSERT OR REPLACE INTO wagtailimages_image SELECT * FROM sample.wagtailimages_image;
DETACH DATABASE sample;
"Check the sample database contents:
sqlite3 sample-db/db.sqlite3 "
SELECT COUNT(*) || ' pages' FROM wagtailcore_page
UNION ALL SELECT COUNT(*) || ' images' FROM wagtailimages_image
UNION ALL SELECT COUNT(*) || ' navigation menus' FROM navigation_navigationmenu;
"Current sample data:
- 📄 10 pages
- 🖼️ 5 images
- 🧭 6 navigation menus
- Locales, Collections, Sites
- Images
- Pages
- Navigation, Footer, Team, etc.
cp -r sample-db/media/* pilot-backend/media/docker exec wagtail-backend python manage.py createsuperuser