61 lines
1.2 KiB
Markdown
61 lines
1.2 KiB
Markdown
|
## set db config in env.yml
|
||
|
|
||
|
```yaml
|
||
|
db:
|
||
|
default: sqlite3://test.db
|
||
|
db2: mysql://root:zKeL8Qhs09tDvg4pYab0zg==@localhost:3306/test
|
||
|
```
|
||
|
|
||
|
set default connection can use db.query, db.xxxx directly
|
||
|
|
||
|
or set default connection by db.setDefault('sqlite3://test.db')
|
||
|
|
||
|
## encrypt password
|
||
|
|
||
|
```shell
|
||
|
go install github.com/ssgo/tool/sskey@latest
|
||
|
sskey -e 'your password' | grep 'url base64'
|
||
|
```
|
||
|
|
||
|
use sskey to encrypt password, then use url base64 to encode it.
|
||
|
|
||
|
if you want use custom sskey secret
|
||
|
|
||
|
add code to your project
|
||
|
|
||
|
```go
|
||
|
import "github.com/ssgo/db"
|
||
|
func setSSKey(key, iv []byte){
|
||
|
db.SetEncryptKeys(key, iv)
|
||
|
}
|
||
|
```
|
||
|
|
||
|
generate setSSKey.go into your project
|
||
|
|
||
|
```shell
|
||
|
sskey -c your_secret_name
|
||
|
sskey -go your_secret_name > setSSKey.go
|
||
|
```
|
||
|
|
||
|
## set db config in env for docker
|
||
|
|
||
|
```shell
|
||
|
docker run -e DB_DEFAULT=sqlite3://test.db -e DB2="mysql://root:zKeL8Qhs09tDvg4pYab0zg==@localhost:3306/test"
|
||
|
```
|
||
|
|
||
|
## example
|
||
|
|
||
|
```javascript
|
||
|
import db from 'db'
|
||
|
import console from 'console'
|
||
|
|
||
|
let r1 = db.query('select * from user limit 10')
|
||
|
console.log(r1.result)
|
||
|
|
||
|
let conn2 = db.get('db2')
|
||
|
let r2 = conn2.query('select * from user limit 10')
|
||
|
console.log(r2.result)
|
||
|
|
||
|
let conn3 = db.get('sqlite3://test.db')
|
||
|
```
|