MySQL JSON columns: flexible attributes without schema migrations
MySQL 8.0 introduced native JSON column support, making it practical to store Akeneo's variable product attributes without predefined column-per-attribute schemas. SyncPIM uses a hybrid approach: core product fields as typed columns, full attribute payload in a data JSON column.
CREATE TABLE products ( id VARCHAR(255) PRIMARY KEY, sku VARCHAR(255) NOT NULL, family VARCHAR(255), enabled TINYINT(1), categories JSON, created_at DATETIME, updated_at DATETIME, data JSON, INDEX idx_sku (sku), INDEX idx_family (family), INDEX idx_updated_at (updated_at) ); -- Query JSON attributes: SELECT sku, JSON_UNQUOTE(JSON_EXTRACT(data, '$.color')) AS color, JSON_UNQUOTE(JSON_EXTRACT(data, '$.name.en_US[0].data')) AS name_en FROM products WHERE family = 'clothing' AND JSON_EXTRACT(data, '$.enabled') = TRUE;
Connection setup: RDS, PlanetScale, Railway
SyncPIM supports all standard MySQL deployments. Use a mysql:// connection string with your credentials:
# Standard MySQL
mysql://user:password@your-host:3306/dbname
# AWS RDS
mysql://admin:password@mydb.abc123.us-east-1.rds.amazonaws.com:3306/products
# PlanetScale (uses SSL by default)
mysql://user:password@host.connect.psdb.cloud/dbname?ssl={"rejectUnauthorized":true}
# Railway
mysql://root:password@containers-us-west-xxx.railway.app:6234/railwaySyncPIM's outbound IP ranges are available in your dashboard under Settings → IP Ranges. Add these to your MySQL server's firewall or RDS security group.
Use case: WooCommerce + Akeneo custom sync pipeline
Many teams use Akeneo as their master product catalog and WooCommerce as their storefront. Instead of relying on direct Akeneo-to-WooCommerce connectors (which are slow and fragile), a common architecture is:
SyncPIM exports
Akeneo → your MySQL database. Incremental updates every hour.
Lightweight script
Your MySQL database → WooCommerce via WooCommerce REST API. Runs on a schedule.
Your storefront
WooCommerce reads from its own database. Fast, resilient, no Akeneo dependency.
This decoupled architecture means WooCommerce is never blocked by Akeneo availability, and your sync logic stays simple. SyncPIM handles the hard part — streaming thousands of products with complex attribute structures — and your MySQL database becomes the reliable source of truth.
Scheduled exports: daily or hourly MySQL updates
After the initial full export, configure SyncPIM to run incremental exports on a schedule. Essential plans support daily exports, Professional and Enterprise plans support hourly syncs. Incremental exports only touch rows that changed in Akeneo — a catalog of 50,000 products with 100 daily changes will update only those 100 rows.
INSERT ... ON DUPLICATE KEY UPDATE to upsert products. Existing rows are updated, new rows are inserted. Deleted products can be soft-deleted (set enabled = 0) or hard-deleted based on your configuration.Migration from manual exports or CSV pipelines
Many teams start by manually exporting CSVs from Akeneo and importing them into MySQL with a script. This works at small scale but breaks when your catalog grows or your team needs hourly updates. SyncPIM replaces the entire CSV pipeline: no more file handling, no more import scripts, no more manual triggers.
| Pain point | CSV pipeline | SyncPIM |
|---|---|---|
| Update frequency | Manual / daily at best | Hourly or on-demand |
| Product models / variants | Complex to flatten manually | Automatic variant flattening |
| Schema changes in Akeneo | Breaks CSV import script | Handled automatically |
| Enrichment / transforms | Pre/post-processing scripts | Built-in no-code enrichers |
| Monitoring | Check logs manually | Live progress dashboard |
Ready to sync Akeneo to MySQL?
10 free exports. No credit card. Full JSON column support for MySQL 8.0+.