데이터베이스에서 문자열을 검색/바꿉니다.
빠른 링크: 사용 | 설치 | 기여 | 지원하다
wp search-replace <old> <new> [<table>...] [--dry-run] [--network] [--all-tables-with-prefix] [--all-tables] [--export[=<file>]] [--export_insert_size=<rows>] [--skip-tables=<tables>] [--skip-columns=<columns>] [--include-columns=<columns>] [--precise] [--recurse-objects] [--verbose] [--regex] [--regex-flags=<regex-flags>] [--regex-delimiter=<regex-delimiter>] [--regex-limit=<regex-limit>] [--format=<format>] [--report] [--report-changed-only] [--log[=<file>]] [--before_context=<num>] [--after_context=<num>]
선택한 테이블의 모든 행을 검색하고 첫 번째 문자열의 모양을 두 번째 문자열로 바꿉니다.
기본적으로 이 명령은 $wpdb
개체에 등록된 테이블을 사용합니다. 다중 사이트에서는 --network
지정되지 않는 한 현재 사이트의 테이블이 됩니다.
검색/바꾸기는 PHP 직렬화된 데이터를 지능적으로 처리하며 기본 키 값을 변경하지 않습니다.
옵션
<old> A string to search for within the database. <new> Replace instances of the first string with this new string. [<table>...] List of database tables to restrict the replacement to. Wildcards are supported, e.g. `'wp_*options'` or `'wp_post*'`. [--dry-run] Run the entire search/replace operation and show report, but don't save changes to the database. [--network] Search/replace through all the tables registered to $wpdb in a multisite install. [--all-tables-with-prefix] Enable replacement on any tables that match the table prefix even if not registered on $wpdb. [--all-tables] Enable replacement on ALL tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --network and --all-tables-with-prefix. [--export[=<file>]] Write transformed data as SQL file instead of saving replacements to the database. If <file> is not supplied, will output to STDOUT. [--export_insert_size=<rows>] Define number of rows in single INSERT statement when doing SQL export. You might want to change this depending on your database configuration (e.g. if you need to do fewer queries). Default: 50 [--skip-tables=<tables>] Do not perform the replacement on specific tables. Use commas to specify multiple tables. Wildcards are supported, e.g. `'wp_*options'` or `'wp_post*'`. [--skip-columns=<columns>] Do not perform the replacement on specific columns. Use commas to specify multiple columns. [--include-columns=<columns>] Perform the replacement on specific columns. Use commas to specify multiple columns. [--precise] Force the use of PHP (instead of SQL) which is more thorough, but slower. [--recurse-objects] Enable recursing into objects to replace strings. Defaults to true; pass --no-recurse-objects to disable. [--verbose] Prints rows to the console as they're updated. [--regex] Runs the search using a regular expression (without delimiters). Warning: search-replace will take about 15-20x longer when using --regex. [--regex-flags=<regex-flags>] Pass PCRE modifiers to regex search-replace (e.g. 'i' for case-insensitivity). [--regex-delimiter=<regex-delimiter>] The delimiter to use for the regex. It must be escaped if it appears in the search string. The default value is the result of `chr(1)`. [--regex-limit=<regex-limit>] The maximum possible replacements for the regex per row (or per unserialized data bit per row). Defaults to -1 (no limit). [--format=<format>] Render output in a particular format. --- default: table options: - table - count --- [--report] Produce report. Defaults to true. [--report-changed-only] Report changed fields only. Defaults to false, unless logging, when it defaults to true. [--log[=<file>]] Log the items changed. If <file> is not supplied or is "-", will output to STDOUT. Warning: causes a significant slow down, similar or worse to enabling --precise or --regex. [--before_context=<num>] For logging, number of characters to display before the old match and the new replacement. Default 40. Ignored if not logging. [--after_context=<num>] For logging, number of characters to display after the old match and the new replacement. Default 40. Ignored if not logging.
예
# Search and replace but skip one column $ wp search-replace 'http://example.test' 'http://example.com' --skip-columns=guid # Run search/replace operation but dont save in database $ wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run # Run case-insensitive regex search/replace operation (slow) $ wp search-replace '[foo id="([0-9]+)"' '[bar id="1"' --regex --regex-flags='i' # Turn your production multisite database into a local dev database $ wp search-replace --url=example.com example.com example.test 'wp_*options' wp_blogs wp_site --network # Search/replace to a SQL file without transforming the database $ wp search-replace foo bar --export=database.sql # Bash script: Search/replace production to development url (multisite compatible) #!/bin/bash if $(wp --url=http://example.com core is-installed --network); then wp search-replace --url=http://example.com 'http://example.com' 'http://example.test' --recurse-objects --network --skip-columns=guid --skip-tables=wp_users else wp search-replace 'http://example.com' 'http://example.test' --recurse-objects --skip-columns=guid --skip-tables=wp_users fi
이 패키지는 WP-CLI 자체에 포함되어 있으므로 추가 설치가 필요하지 않습니다.
WP-CLI에 포함된 패키지 위에 이 패키지의 최신 버전을 설치하려면 다음을 실행하세요.
wp package install [email protected]:wp-cli/search-replace-command.git
이 프로젝트에 적극적으로 참여해 주셔서 감사합니다.
기여는 코드에만 국한되지 않습니다. 튜토리얼을 작성하고, 지역 모임에서 데모를 제공하고, 다른 사용자의 지원 질문을 돕거나, 문서를 수정하는 등 자신의 능력에 가장 적합한 방식으로 기여하는 것이 좋습니다.
보다 철저한 소개를 보려면 WP-CLI의 기여 가이드를 확인하세요. 이 패키지는 해당 정책과 지침을 따릅니다.
버그를 발견했다고 생각하시나요? 문제를 해결할 수 있도록 도와주시면 감사하겠습니다.
새 문제를 생성하기 전에 기존 문제를 검색하여 기존 해결 방법이 있는지 또는 최신 버전에서 이미 수정되었는지 확인해야 합니다.
약간의 검색을 수행한 후 버그에 대해 열려 있거나 해결된 문제가 없다는 것을 발견하면 새 문제를 생성하십시오. 가능한 한 많은 세부 정보를 포함하고 가능하면 재현할 단계를 명확하게 지정하세요. 자세한 지침은 버그 보고서 문서를 검토하세요.
새로운 기능에 기여하고 싶으신가요? 먼저 새 이슈를 열어 해당 기능이 프로젝트에 적합한지 논의하십시오.
끌어오기 요청을 확인하는 데 시간을 투자하기로 결정했다면 즐거운 경험이 될 수 있도록 끌어오기 요청 생성에 대한 지침을 따르세요. 이 패키지를 로컬에서 작업하는 것과 관련된 자세한 내용은 "설정"을 참조하세요.
GitHub 문제는 일반적인 지원 질문이 아니지만 시도해 볼 수 있는 다른 장소가 있습니다: https://wp-cli.org/#support
이 README.md는 wp scaffold package-readme
(doc)를 사용하여 프로젝트의 코드베이스에서 동적으로 생성됩니다. 변경 사항을 제안하려면 코드베이스의 해당 부분에 대해 풀 요청을 제출하세요.