Manual:Sql.php
| Versão do MediaWiki: | ≥ 1.10 |
| Arquivo do MediaWiki: sql.php | |
|---|---|
| Localização: | maintenance/ |
| Código-fonte: | master • 1.45.0 • 1.44.2 • 1.39.15 |
| Classes: | MwSql |
sql.php é um arquivo de manutenção que executa consultas SQL de um arquivo específico para o banco de dados.
If you give an SQL file as the first argument, it will replace MediaWiki specific code comments like /*_*/ for the configured database prefix (among others).
If you don't give it a file, then you can query the database in an interactive fashion, similar to the MySQL command line tool.
This script is often used if you want to upgrade MediaWiki, but have a large, master/replica-database setup and don't want any downtime.
Instead of using update.php, you might use sql.php to apply database individual patches from sql/mysql directory on each sql server separately, taking the individual server out of rotation while the schema change runs.
Generally you should only do this if you have to - most users should use the update.php script instead.
Options/Arguments
As opções disponíveis para este script a partir da linha de comando são:
| Option | Description | Required? |
|---|---|---|
| --query | Run a single query instead of running interactively | Optional |
| --json | Output the results as JSON instead of PHP objects | Optional |
| --status | Return successful exit status only if the query succeeded (selected or altered rows), otherwise 1 for errors, 2 for no rows | Optional |
| --cluster | Permite que um nome de cluster seja fornecido para o comando. | Optional |
| --wikidb | Permite a um banco de dados diferente ser usado no comando pela ID, se não for o banco de dados atual. | Optional |
| --replicadb | Replica DB server to use instead of the primary DB (can be "any") | Optional |
Usage
php maintenance/run.php sql [ --query| --json| --status| --cluster| --wikidb| --replicadb ]
php maintenance/scriptName.php em vez de php maintenance/run.php scriptName.Interactive mode
$ php maintenance/run.php sql >
Inline query
$ php maintenance/run.php sql --query "SELECT user_name from user;" --json
[
{
"user_name": "Delete page script"
},
{
"user_name": "Foo"
},
{
"user_name": "Maintenance script"
},
{
"user_name": "MediaWiki default"
},
{
"user_name": "ScriptImporter"
}
]
Applying patches
$ php maintenance/run.php sql sql/mysql/patch-actor-table.sql Query OK, 0 row(s) affected Query OK, 0 row(s) affected Query OK, 0 row(s) affected