File tree Expand file tree Collapse file tree
web/vue/src/pages/install Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ require (
2121 github.com/klauspost/compress v1.5.0 // indirect
2222 github.com/klauspost/cpuid v1.2.1 // indirect
2323 github.com/lib/pq v1.1.1
24+ github.com/mattn/go-sqlite3 v1.14.16
2425 github.com/ouqiang/goutil v1.1.1
2526 github.com/rakyll/statik v0.1.7
2627 github.com/sirupsen/logrus v1.4.2
Original file line number Diff line number Diff line change @@ -75,6 +75,8 @@ github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
7575github.com/mattn/go-sqlite3 v1.9.0 /go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc =
7676github.com/mattn/go-sqlite3 v1.10.0 h1:jbhqpg7tQe4SupckyijYiy0mJJ/pRyHvXf7JdWK860o =
7777github.com/mattn/go-sqlite3 v1.10.0 /go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc =
78+ github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y =
79+ github.com/mattn/go-sqlite3 v1.14.16 /go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg =
7880github.com/ouqiang/goutil v1.1.1 h1:r5EKn1jw6vBnj0sLrk3XWeQGxG5ftjGQ3ftuiiO2DYE =
7981github.com/ouqiang/goutil v1.1.1 /go.mod h1:QrB1Ky4uGqcixxOx55MXweI3IA6nDZ0NtLMXbMfkur4 =
8082github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw =
Original file line number Diff line number Diff line change @@ -125,6 +125,8 @@ func getDbEngineDSN(setting *setting.Setting) string {
125125 setting .Db .Host ,
126126 setting .Db .Port ,
127127 setting .Db .Database )
128+ case "sqlite3" :
129+ dsn = setting .Db .Database
128130 }
129131
130132 return dsn
Original file line number Diff line number Diff line change 1+ package models
2+
3+ import (
4+ "os"
5+ "testing"
6+
7+ _ "github.com/mattn/go-sqlite3"
8+ "github.com/ouqiang/gocron/internal/modules/app"
9+ "github.com/ouqiang/gocron/internal/modules/logger"
10+ "github.com/ouqiang/gocron/internal/modules/setting"
11+ "github.com/stretchr/testify/assert"
12+ )
13+
14+ func TestDSN (t * testing.T ) {
15+ cfg := & setting.Setting {
16+ Db : struct {
17+ Engine string
18+ Host string
19+ Port int
20+ User string
21+ Password string
22+ Database string
23+ Prefix string
24+ Charset string
25+ MaxIdleConns int
26+ MaxOpenConns int
27+ }{Engine : "sqlite3" , Database : "./test.db" },
28+ AllowIps : "" ,
29+ AppName : "" ,
30+ ApiKey : "" ,
31+ ApiSecret : "" ,
32+ ApiSignEnable : false ,
33+ EnableTLS : false ,
34+ CAFile : "" ,
35+ CertFile : "" ,
36+ KeyFile : "" ,
37+ ConcurrencyQueue : 0 ,
38+ AuthSecret : "" ,
39+ }
40+ dsn := getDbEngineDSN (cfg )
41+ t .Log ("dsn: " , dsn )
42+ assert .NotEmpty (t , dsn )
43+ }
44+
45+ func TestCreateDb (t * testing.T ) {
46+ logger .InitLogger ()
47+ cfg := & setting.Setting {
48+ Db : struct {
49+ Engine string
50+ Host string
51+ Port int
52+ User string
53+ Password string
54+ Database string
55+ Prefix string
56+ Charset string
57+ MaxIdleConns int
58+ MaxOpenConns int
59+ }{Engine : "sqlite3" , Database : "./test.db" },
60+ AllowIps : "" ,
61+ AppName : "" ,
62+ ApiKey : "" ,
63+ ApiSecret : "" ,
64+ ApiSignEnable : false ,
65+ EnableTLS : false ,
66+ CAFile : "" ,
67+ CertFile : "" ,
68+ KeyFile : "" ,
69+ ConcurrencyQueue : 0 ,
70+ AuthSecret : "" ,
71+ }
72+ app .Setting = cfg
73+
74+ os .Remove (cfg .Db .Database )
75+ defer os .Remove (cfg .Db .Database )
76+
77+ // 创建数据库并初始化
78+ Db = CreateDb ()
79+ assert .NotNil (t , Db )
80+
81+ migrate := new (Migration )
82+ err := migrate .Install ("hello" )
83+ assert .Nil (t , err )
84+ }
Original file line number Diff line number Diff line change 55 "fmt"
66 "strconv"
77
8+ _ "github.com/mattn/go-sqlite3"
89 macaron "gopkg.in/macaron.v1"
910
1011 "github.com/go-macaron/binding"
@@ -20,7 +21,7 @@ import (
2021// 系统安装
2122
2223type InstallForm struct {
23- DbType string `binding:"In(mysql,postgres)"`
24+ DbType string `binding:"In(mysql,postgres,sqlite3 )"`
2425 DbHost string `binding:"Required;MaxSize(50)"`
2526 DbPort int `binding:"Required;Range(1,65535)"`
2627 DbUsername string `binding:"Required;MaxSize(50)"`
Original file line number Diff line number Diff line change 1212 :value =" item.value" >
1313 </el-option >
1414 </el-select >
15+ <label title =" 使用sqlite3时需要在数据库名称中配置文件路径,主机名/端口/用户名/密码随意" >❓</label >
1516 </el-form-item >
1617 <el-row >
1718 <el-col :span =" 12" >
@@ -143,11 +144,16 @@ export default {
143144 {
144145 value: ' postgres' ,
145146 label: ' PostgreSql'
147+ },
148+ {
149+ value: ' sqlite3' ,
150+ label: ' sqlite3'
146151 }
147152 ],
148153 default_ports: {
149154 ' mysql' : 3306 ,
150- ' postgres' : 5432
155+ ' postgres' : 5432 ,
156+ ' sqlite3' : 1
151157 }
152158 }
153159 },
You can’t perform that action at this time.
0 commit comments