gojs/modules/db/db.md

61 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2024-10-02 00:07:02 +08:00
## 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')
```