Added docs for com.noccy.pdo.shell
parent
42fc691a00
commit
a1aaf10fb5
1
Home.md
1
Home.md
@ -6,5 +6,6 @@ Welcome to the Wiki.
|
|||||||
|
|
||||||
- [com.noccy.apiclient](com.noccy.apiclient) - API catalog and request helper
|
- [com.noccy.apiclient](com.noccy.apiclient) - API catalog and request helper
|
||||||
- [com.noccy.pdo](com.noccy.pdo) - PDO Database helpers
|
- [com.noccy.pdo](com.noccy.pdo) - PDO Database helpers
|
||||||
|
- [com.noccy.pdo.shell](com.noccy.pdo.shell) - PDO Shell
|
||||||
- [com.noccy.watcher](com.noccy.watcher) - Run scripts when files are modified
|
- [com.noccy.watcher](com.noccy.watcher) - Run scripts when files are modified
|
||||||
|
|
||||||
|
78
com.noccy.pdo.shell.md
Normal file
78
com.noccy.pdo.shell.md
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# PDO Shell Plugin
|
||||||
|
|
||||||
|
This is a plugin to work interactively with PDO.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Global installation (recommended, requires SPARK_PLUGINS environment):
|
||||||
|
|
||||||
|
1. Extract the plug into your global plugin directory (`$SPARK_PLUGINS`)
|
||||||
|
2. Go to your project directory and run `spark plugin --enable com.noccy.pdo.shell`
|
||||||
|
|
||||||
|
Local installation:
|
||||||
|
|
||||||
|
1. Extract the directory into `.spark/plugins`, like a savage.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
To define resorces using PHP, add this to the appropriate preloaded file:
|
||||||
|
|
||||||
|
```php
|
||||||
|
create_resource($name, $type, $uri);
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use the config file `.spark/resources.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"resources": {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Resources are defined with the name as the key, and the *full* connection URI
|
||||||
|
as the value. The URI should contain the resource type as well as the resource
|
||||||
|
URI separated by a plus sign, in this case `pdo+mysql`, `pdo+sqlite` etc.
|
||||||
|
|
||||||
|
```json
|
||||||
|
...
|
||||||
|
"db": "pdo+mysql://user:pass@host:port/dbname"
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also create a temporary in-memory SQLite database by using `pdo+sqlite:`
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
The simplest use is invoking the shell directly:
|
||||||
|
|
||||||
|
$ spark pdo:shell
|
||||||
|
PDO[db]>
|
||||||
|
|
||||||
|
You are presented with a prompt containing the string "PDO", follwed by the currently
|
||||||
|
selected resource in brackets. Commands start with a period (`.`) and you can get a
|
||||||
|
list of the valid commands with `.help`.
|
||||||
|
|
||||||
|
To run a query, you can either run it directly:
|
||||||
|
|
||||||
|
PDO[db]> SELECT id FROM users WHERE username='bob'
|
||||||
|
|
||||||
|
Or let the shell do the escaping for you:
|
||||||
|
|
||||||
|
PDO[db]> .query "SELECT id FROM users WHERE username=?" bob
|
||||||
|
|
||||||
|
You can also read the commands from a file and have them executed as if they were
|
||||||
|
entered into the shell:
|
||||||
|
|
||||||
|
$ spark pdo:shell -r sparkrc
|
||||||
|
|
||||||
|
### Selecting the resource
|
||||||
|
|
||||||
|
This can be done from the command line:
|
||||||
|
|
||||||
|
$ spark pdo:shell --db otherdb
|
||||||
|
|
||||||
|
Or from within the shell:
|
||||||
|
|
||||||
|
PDO[db]> .select otherdb
|
||||||
|
PDO[otherdb]>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user