Added docs for com.noccy.pdo.shell
							
								
								
									
										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.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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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]> 
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user