Linux 软件免费装
Banner图

CraftRoq Relocate DB

开发者 craftroq
更新时间 2026年10月8日 07:06
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPLv3 or later
版权网址: 版权信息

标签

migration urls database serialized search replace

下载

1.0.0 1.1.0

详情介绍:

CraftRoq Relocate DB changes text across your database: moving a site from staging to production, switching to HTTPS, changing a domain, or renaming something everywhere it appears. It is built for doing that on real sites without breaking them. Preview first, always Every replacement starts as a dry run. It searches the tables you choose, changes nothing, and shows exactly what would change: rows and replacements per table and column, values it would leave alone and why, and before/after examples. Only a completed dry run can be applied, and applying it repeats exactly what was previewed. Serialized data and JSON handled properly Plugins and themes store settings as serialized PHP. A plain text replacement breaks those values whenever the length changes. Relocate rewrites serialized data token by token and recalculates every length, without unserializing it, so no plugin code runs and objects, private properties, references and numbers stay exactly as they were. URLs inside JSON (as page builders store them, with escaped slashes) are found and replaced too. A value is left untouched, and reported, when changing it could corrupt it: serialized data that is already broken, a custom serialized format only its own class understands, or JSON that would become invalid. Made for large databases Tables are processed in small batches by primary key, a few seconds per request, so there are no timeouts or memory limits to hit however big the tables are. Progress is saved after every batch. If the page is closed or the connection drops, the job can be continued from the last completed batch. Safety measures Also included

安装:

  1. Upload the plugin to /wp-content/plugins/craftroq-relocate-db, or install it from the Plugins screen.
  2. Activate it.
  3. Open Relocate DB in the admin menu.

屏幕截图:

  • Choose what to replace, up to 20 pairs at once, and which tables to look in.
  • Live progress: the current table, rows scanned, changes found and time remaining.
  • The dry run: what would change, with before and after examples. Nothing is written yet.
  • Confirm before anything is written, and keep a file of the original values.
  • Import / Export: download the database with the site address changed on the way out.
  • History: every dry run and replacement, searchable and sortable.

常见问题:

Do I still need a backup?

Yes. Take a full database backup before replacing anything. The file of original values covers what a replacement changed, but it is not a substitute for a backup.

Can I undo a replacement?

There is no undo button. Each replacement can save the original value of everything it changed to a downloadable .sql.gz file, and importing that file (for example with phpMyAdmin, or gunzip -c file.sql.gz | mysql your_database) puts those values back. It overwrites any edits made to those values since, so use it soon after the replacement.

Does it change serialized data safely?

Yes. Serialized values are rewritten with their lengths recalculated, and checked to still be readable afterwards. Values that could not be changed safely are left as they were and listed in the results.

What happens if I close the page during a replacement?

The batch in progress either completes or is rolled back (on InnoDB tables, which WordPress uses by default). Open the job from the Dashboard or History and continue it: it picks up from the last completed batch.

What happens if an import fails or I close the page?

Nothing in the tables your site uses has changed. The tables in the file are built under temporary names and only put in place, all together, once the whole file has run. A failed import can be resumed or discarded, and one whose page was closed is offered again on the Import screen. The database needs room for both copies until the import finishes.

Does it support Multisite?

No. Multisite is not supported. On a Multisite network the plugin does not run, and says so on the Plugins screen.

Which tables does it search?

The tables you tick. By default those are the tables with your WordPress prefix. Other tables in the same database can be added, and each table's text columns can be switched off one by one. The plugin's own tables are never searched.

How do I use it from WP-CLI?

wp crq search-replace https://staging.example.com https://example.com --dry-run shows what would change. Without --dry-run the command asks for confirmation and applies the dry run it just made. See wp help crq search-replace for all options.

Does it send any data anywhere?

No. Everything happens in your own database. Nothing is sent to CraftRoq or anyone else.

更新日志:

1.1.0 1.0.0