gojs/modules/db/db.md
2024-10-02 14:05:52 +08:00

1.2 KiB

set db config in env.yml

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

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

import "github.com/ssgo/db"
func setSSKey(key, iv []byte){
    db.SetEncryptKeys(key, iv)
}

generate setSSKey.go into your project

sskey -c your_secret_name
sskey -go your_secret_name > setSSKey.go

set db config in env for docker

docker run -e DB_DEFAULT=sqlite3://test.db -e DB2="mysql://root:zKeL8Qhs09tDvg4pYab0zg==@localhost:3306/test"

example

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')