feat:完善项目信息
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
name: 中科元
|
name:
|
||||||
# domain 域名
|
# domain 域名
|
||||||
domain: http://192.168.0.145:8000
|
domain: http://127.0.0.1:8000
|
||||||
# token有效时间(秒)
|
# token有效时间(秒)
|
||||||
token_effect_time: 604800
|
token_effect_time: 604800
|
||||||
# multiple_login 多地登录
|
# multiple_login 多地登录
|
||||||
@ -12,6 +12,10 @@ server:
|
|||||||
write_timeout: 5
|
write_timeout: 5
|
||||||
idle_timeout: 5
|
idle_timeout: 5
|
||||||
|
|
||||||
|
# ES 服务器
|
||||||
|
es_server:
|
||||||
|
host: http://192.168.0.188:9200
|
||||||
|
|
||||||
# RATE 限流器
|
# RATE 限流器
|
||||||
rate:
|
rate:
|
||||||
# 每秒注入容器中数量
|
# 每秒注入容器中数量
|
||||||
@ -19,37 +23,12 @@ rate:
|
|||||||
# 每个IP每秒请求最大次数
|
# 每个IP每秒请求最大次数
|
||||||
capacity: 100
|
capacity: 100
|
||||||
|
|
||||||
# ENGINE 配置
|
|
||||||
engine:
|
|
||||||
# 开启会输出sql日志
|
|
||||||
debug: true
|
|
||||||
# db_mode - mysql | sqlite
|
|
||||||
db_mode: mysql
|
|
||||||
max_lifetime: 3600
|
|
||||||
max_open_conns: 2000
|
|
||||||
max_idle_conns: 1000
|
|
||||||
table_prefix:
|
|
||||||
# 是否采用数据表复数
|
|
||||||
complex: false
|
|
||||||
# MYSQL 配置
|
|
||||||
mysql:
|
|
||||||
host: 127.0.0.1
|
|
||||||
port: 3306
|
|
||||||
user: appuser
|
|
||||||
password: ABCabc01
|
|
||||||
db_name: sciences
|
|
||||||
parameters: charset=utf8mb4,utf8&parseTime=True&loc=Local
|
|
||||||
# SQLITE 配置
|
|
||||||
sqlite:
|
|
||||||
path: data
|
|
||||||
name: app.db
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
# memory | redis
|
# memory | redis
|
||||||
type: redis
|
type: memory
|
||||||
redis:
|
redis:
|
||||||
addr: "192.168.0.188:6379"
|
addr: "127.0.0.1:6379"
|
||||||
password: ABCabc01
|
password:
|
||||||
db: 0
|
db: 0
|
||||||
max_active: 0
|
max_active: 0
|
||||||
max_idle: 1000
|
max_idle: 1000
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package migrate
|
package migrate
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"SciencesServer/app/common/migrate"
|
|
||||||
"SciencesServer/serve/orm"
|
|
||||||
"SciencesServer/serve/orm/logic"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
@ -11,25 +8,26 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Debug bool `json:"debug" yaml:"debug"`
|
Debug bool `json:"debug" yaml:"debug"`
|
||||||
Mode string `json:"mode" yaml:"mode"`
|
Mode string `json:"mode" yaml:"mode"`
|
||||||
MaxLifetime int `json:"max_lifetime" yaml:"max_lifetime"`
|
MaxLifetime int `json:"max_lifetime" yaml:"max_lifetime"`
|
||||||
MaxOpenConns int `json:"max_open_conns" yaml:"max_open_conns"`
|
MaxOpenConns int `json:"max_open_conns" yaml:"max_open_conns"`
|
||||||
MaxIdleConns int `json:"max_idle_conns" yaml:"max_idle_conns"`
|
MaxIdleConns int `json:"max_idle_conns" yaml:"max_idle_conns"`
|
||||||
Engines map[string]map[string]interface{} `json:"engines" yaml:"engines"`
|
Engines map[string]interface{} `json:"engines" yaml:"engines"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type mysql struct {
|
type Mysql struct {
|
||||||
host string
|
Host string `yaml:"host"`
|
||||||
port int
|
Port int `yaml:"port"`
|
||||||
database string
|
Database string `yaml:"database"`
|
||||||
username string
|
Username string `yaml:"username"`
|
||||||
password string
|
Password string `yaml:"password"`
|
||||||
|
Parameters string `json:"parameters"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type sqlite struct {
|
type Sqlite struct {
|
||||||
path string
|
Path string `yaml:"path"`
|
||||||
name string
|
Name string `yaml:"name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -44,39 +42,40 @@ var (
|
|||||||
file string
|
file string
|
||||||
mode string
|
mode string
|
||||||
|
|
||||||
_mysql = new(mysql)
|
_mysql = new(Mysql)
|
||||||
_sqlite = new(sqlite)
|
_sqlite = new(Sqlite)
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Cmd.PersistentFlags().StringVarP(&file, "file", "f", "./default_engine.yaml", "文件存储,现支持yaml文件,默认./default_engine.yaml")
|
Cmd.PersistentFlags().StringVarP(&file, "file", "f", "./default_engine.yaml", "文件存储,现支持yaml文件,默认./default_engine.yaml")
|
||||||
Cmd.PersistentFlags().StringVarP(&mode, "mode", "m", "mysql", "数据引擎,支持mysql和sqlite,默认mysql")
|
Cmd.PersistentFlags().StringVarP(&mode, "mode", "m", "mysql", "数据引擎,支持mysql和sqlite,默认mysql")
|
||||||
Cmd.PersistentFlags().StringVarP(&_mysql.host, "mysql_host", "H", "127.0.0.1", "主机名,默认127.0.0.1")
|
Cmd.PersistentFlags().StringVarP(&_mysql.Host, "mysql_host", "H", "127.0.0.1", "主机名,默认127.0.0.1")
|
||||||
Cmd.PersistentFlags().IntVarP(&_mysql.port, "mysql_port", "P", 3306, "端口号,默认为3306")
|
Cmd.PersistentFlags().IntVarP(&_mysql.Port, "mysql_port", "P", 3306, "端口号,默认为3306")
|
||||||
Cmd.PersistentFlags().StringVarP(&_mysql.database, "mysql_database", "d", "", "数据库,默认为空")
|
Cmd.PersistentFlags().StringVarP(&_mysql.Database, "mysql_database", "d", "", "数据库,默认为空")
|
||||||
Cmd.PersistentFlags().StringVarP(&_mysql.username, "mysql_username", "u", "root", "用户名,默认为root")
|
Cmd.PersistentFlags().StringVarP(&_mysql.Username, "mysql_username", "u", "root", "用户名,默认为root")
|
||||||
Cmd.PersistentFlags().StringVarP(&_mysql.password, "mysql_password", "p", "", "密码,默认为空")
|
Cmd.PersistentFlags().StringVarP(&_mysql.Password, "mysql_password", "p", "", "密码,默认为空")
|
||||||
Cmd.PersistentFlags().StringVarP(&_sqlite.path, "sqlite_path", "a", "data", "Sqlite文件存放地址,默认data")
|
Cmd.PersistentFlags().StringVar(&_mysql.Parameters, "mysql_parameters", "charset=utf8mb4,utf8&parseTime=True&loc=Local", "附加参数")
|
||||||
Cmd.PersistentFlags().StringVarP(&_sqlite.name, "sqlite_name", "n", "app.db", "Sqlite文件存放地址,默认app.db")
|
Cmd.PersistentFlags().StringVarP(&_sqlite.Path, "sqlite_path", "a", "data", "Sqlite文件存放地址,默认data")
|
||||||
|
Cmd.PersistentFlags().StringVarP(&_sqlite.Name, "sqlite_name", "n", "app.db", "Sqlite文件存放地址,默认app.db")
|
||||||
}
|
}
|
||||||
|
|
||||||
func run() {
|
func run() {
|
||||||
fmt.Println("========================\n=== 初始化项目配置 ===\n========================")
|
fmt.Println("========================\n=== 初始化项目配置 ===\n========================")
|
||||||
|
|
||||||
// 初始化数据引擎
|
// 初始化数据引擎
|
||||||
engine := orm.NewInstance(
|
//engine := orm.NewInstance(
|
||||||
orm.WithDBMode(mode),
|
// orm.WithDBMode(mode),
|
||||||
orm.WithMysqlOption(&logic.Mysql{
|
// orm.WithMysqlOption(&logic.Mysql{
|
||||||
Host: _mysql.host, Port: _mysql.port,
|
// Host: _mysql.Host, Port: _mysql.Port,
|
||||||
Username: _mysql.username, Password: _mysql.password,
|
// Username: _mysql.Username, Password: _mysql.Password,
|
||||||
Database: _mysql.database, Parameters: "charset=utf8mb4,utf8&parseTime=True&loc=Local",
|
// Database: _mysql.Database, Parameters: "charset=utf8mb4,utf8&parseTime=True&loc=Local",
|
||||||
}),
|
// }),
|
||||||
orm.WithSqliteOption(&logic.Sqlite{Path: _sqlite.path, Name: _sqlite.name}),
|
// orm.WithSqliteOption(&logic.Sqlite{Path: _sqlite.Path, Name: _sqlite.Name}),
|
||||||
).Init()
|
//).Init()
|
||||||
|
|
||||||
fmt.Println("========================\n=== 数据引擎创建成功 ===\n========================")
|
fmt.Println("========================\n=== 数据引擎创建成功 ===\n========================")
|
||||||
// 迁移数据
|
// 迁移数据
|
||||||
migrate.NewInstance(migrate.WithGormDBOption(engine.Engine)).Handle()
|
//migrate.NewInstance(migrate.WithGormDBOption(engine.Engine)).Handle()
|
||||||
|
|
||||||
if err := saveFile(file, &Config{
|
if err := saveFile(file, &Config{
|
||||||
Debug: true,
|
Debug: true,
|
||||||
@ -84,19 +83,9 @@ func run() {
|
|||||||
MaxLifetime: 3600,
|
MaxLifetime: 3600,
|
||||||
MaxOpenConns: 2000,
|
MaxOpenConns: 2000,
|
||||||
MaxIdleConns: 1000,
|
MaxIdleConns: 1000,
|
||||||
Engines: map[string]map[string]interface{}{
|
Engines: map[string]interface{}{
|
||||||
"mysql": map[string]interface{}{
|
"mysql": _mysql,
|
||||||
"host": _mysql.host,
|
"sqlite": _sqlite,
|
||||||
"port": _mysql.port,
|
|
||||||
"database": _mysql.database,
|
|
||||||
"username": _mysql.username,
|
|
||||||
"password": _mysql.password,
|
|
||||||
"parameters": "charset=utf8mb4,utf8&parseTime=True&loc=Local",
|
|
||||||
},
|
|
||||||
"sqlite": map[string]interface{}{
|
|
||||||
"path": _sqlite.path,
|
|
||||||
"name": _sqlite.name,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
fmt.Errorf("数据初始化文件错误:%v", err)
|
fmt.Errorf("数据初始化文件错误:%v", err)
|
||||||
|
@ -32,6 +32,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
Cmd.PersistentFlags().StringVarP(&config.Mode, "mode", "m", "debug", "项目模式debug/release,默认debug")
|
||||||
Cmd.PersistentFlags().StringVarP(&configFile, "setting", "s", "./default_setting.yaml", "项目配置文件,默认./default_setting.yaml")
|
Cmd.PersistentFlags().StringVarP(&configFile, "setting", "s", "./default_setting.yaml", "项目配置文件,默认./default_setting.yaml")
|
||||||
Cmd.PersistentFlags().StringVarP(&engineFile, "engine", "e", "./default_engine.yaml", "项目数据配置文件,默认./default_engine.yaml")
|
Cmd.PersistentFlags().StringVarP(&engineFile, "engine", "e", "./default_engine.yaml", "项目数据配置文件,默认./default_engine.yaml")
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import "flag"
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
Mode = flag.String("mode", "release", "Development Environment") // debug,test,release
|
Mode string = "debug"
|
||||||
Version = flag.String("version", "v1.0", "IOT Version")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// IsDebug 开发版本
|
// IsDebug 开发版本
|
||||||
func IsDebug() bool {
|
func IsDebug() bool {
|
||||||
return *Mode == "debug"
|
return Mode == "debug"
|
||||||
}
|
}
|
||||||
|
@ -6,9 +6,13 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Mysql struct {
|
||||||
|
Host string
|
||||||
|
}
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
Version int
|
Version int `yaml:"version"`
|
||||||
Mapping map[string]string
|
Mapping *Mysql `yaml:"mapping"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNewFile(t *testing.T) {
|
func TestNewFile(t *testing.T) {
|
||||||
@ -23,9 +27,8 @@ func TestNewFile(t *testing.T) {
|
|||||||
|
|
||||||
err = enc.Encode(config{
|
err = enc.Encode(config{
|
||||||
Version: 7,
|
Version: 7,
|
||||||
Mapping: map[string]string{
|
Mapping: &Mysql{
|
||||||
"key": "value1",
|
Host: "123",
|
||||||
"key2": "value2",
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user