@@ -63,26 +63,28 @@ func New(config ...Config) *Storage {
6363 db .SetConnMaxLifetime (cfg .connMaxLifetime )
6464 }
6565
66- // Ping database to ensure a connection has been made
67- if err := db .Ping (); err != nil {
68- panic (err )
69- }
70-
71- // Drop table if Clear set to true
72- if cfg .Reset {
73- query := fmt .Sprintf (dropQuery , cfg .Table )
74- if _ , err = db .Exec (query ); err != nil {
75- _ = db .Close ()
66+ if ! cfg .DisableStartupCheck {
67+ // Ping database to ensure a connection has been made
68+ if err := db .Ping (); err != nil {
7669 panic (err )
7770 }
78- }
7971
80- // Init database queries
81- for _ , query := range initQuery {
82- query = fmt .Sprintf (query , cfg .Table )
83- if _ , err := db .Exec (query ); err != nil {
84- _ = db .Close ()
85- panic (err )
72+ // Drop table if Clear set to true
73+ if cfg .Reset {
74+ query := fmt .Sprintf (dropQuery , cfg .Table )
75+ if _ , err = db .Exec (query ); err != nil {
76+ _ = db .Close ()
77+ panic (err )
78+ }
79+ }
80+
81+ // Init database queries
82+ for _ , query := range initQuery {
83+ query = fmt .Sprintf (query , cfg .Table )
84+ if _ , err := db .Exec (query ); err != nil {
85+ _ = db .Close ()
86+ panic (err )
87+ }
8688 }
8789 }
8890
@@ -98,7 +100,9 @@ func New(config ...Config) *Storage {
98100 sqlGC : fmt .Sprintf ("DELETE FROM %s WHERE e <= ? AND e != 0" , cfg .Table ),
99101 }
100102
101- store .checkSchema (cfg .Table )
103+ if ! cfg .DisableStartupCheck {
104+ store .checkSchema (cfg .Table )
105+ }
102106
103107 // Start garbage collector
104108 go store .gcTicker ()
0 commit comments