Fix a bad import across hundreds of products, with a copy of every change

Paid versionService mode

A mistake across hundreds of products is fixed in one careful pass, with the old values kept so it can be undone.

What it replaces: 2-3 h of preparing and checking a database fix

What you write to Claude

„count products whose ean13 starts with a space or apostrophe, show 10 examples, then clean them up. max 1000 rows, keep a backup so we can undo”

The problem

An import put spaces and an apostrophe in front of 800 barcodes, so Google Merchant rejects the products. The back office can't fix that in bulk.

What Claude does

  1. Claude counts the affected products and shows examples.
  2. It shows the planned change and exactly how many records it will touch.
  3. After your yes it makes the change with a safety limit and keeps a copy of every changed record.
  4. It checks the result and tells you how to undo it if needed.

What you get

All barcodes are clean, Google can accept the products again, and the old values are kept in the change history.

You stay in control

You see every change before it is saved and nothing happens without your yes. This deep repair access uses the separate, extra-protected connection, works only for the few hours you switch it on, and keeps a copy of every changed file or record.

See pricing

Related use cases

For developers
Area
5 · Service mode
Connector
service connector
In the free Audit
no, paid version only
For
Developer, Agency / freelancer
Tools
ps_db_query, ps_db_execute, ps_get_product, ps_revert_change

Step by step

  1. Counts and samples with ps_db_query (SELECT on product where ean13 starts with a space or apostrophe; product_attribute is checked the same way).
  2. Prepares a single-table UPDATE without JOIN (so the row backup applies) and calls ps_db_execute without confirm: the preview shows the row count and a sample.
  3. Executes in a transaction with max_rows=1000; if more rows would change, it rolls back. The old row values are stored for ps_revert_change.
  4. Verifies with ps_db_query and spot-checks products with ps_get_product.

Safety

Service mode (block 5) works only through the service connector (separate token, allowlisted IP addresses) and only while its time-limited switch is on (1, 4, 8 or 24 h); then it switches itself off, and the owner gets an e-mail when it is switched on. ps_db_execute runs one INSERT/UPDATE/DELETE/REPLACE in a transaction; the preview shows the row count and a sample, and the change is rolled back if more rows than max_rows (up to 1000) would change. A single-table UPDATE or DELETE without JOIN keeps a copy of every changed row, so ps_revert_change can undo it. UPDATE/DELETE without WHERE needs all_rows=true; ALTER/CREATE/DROP/TRUNCATE need allow_ddl=true and cannot be undone. A direct database change skips module hooks and caches, so a block 1-4 tool is used instead whenever one exists. Try it on a staging copy first.

Last updated: 2026-10-05