@@ -87,6 +87,10 @@ var CmdDump = &cli.Command{
87
87
Name : "skip-index" ,
88
88
Usage : "Skip bleve index data" ,
89
89
},
90
+ & cli.BoolFlag {
91
+ Name : "skip-db" ,
92
+ Usage : "Skip database" ,
93
+ },
90
94
& cli.StringFlag {
91
95
Name : "type" ,
92
96
Usage : fmt .Sprintf (`Dump output format, default to "zip", supported types: %s` , strings .Join (dump .SupportedOutputTypes , ", " )),
@@ -185,35 +189,41 @@ func runDump(ctx *cli.Context) error {
185
189
}
186
190
}
187
191
188
- tmpDir := ctx .String ("tempdir" )
189
- if _ , err := os .Stat (tmpDir ); os .IsNotExist (err ) {
190
- fatal ("Path does not exist: %s" , tmpDir )
191
- }
192
+ if ctx .Bool ("skip-db" ) {
193
+ // Ensure that we don't dump the database file that may reside in setting.AppDataPath or elsewhere.
194
+ dumper .GlobalExcludeAbsPath (setting .Database .Path )
195
+ log .Info ("Skipping database" )
196
+ } else {
197
+ tmpDir := ctx .String ("tempdir" )
198
+ if _ , err := os .Stat (tmpDir ); os .IsNotExist (err ) {
199
+ fatal ("Path does not exist: %s" , tmpDir )
200
+ }
192
201
193
- dbDump , err := os .CreateTemp (tmpDir , "gitea-db.sql" )
194
- if err != nil {
195
- fatal ("Failed to create tmp file: %v" , err )
196
- }
197
- defer func () {
198
- _ = dbDump .Close ()
199
- if err := util .Remove (dbDump .Name ()); err != nil {
200
- log .Warn ("Unable to remove temporary file: %s: Error: %v" , dbDump .Name (), err )
202
+ dbDump , err := os .CreateTemp (tmpDir , "gitea-db.sql" )
203
+ if err != nil {
204
+ fatal ("Failed to create tmp file: %v" , err )
201
205
}
202
- }()
206
+ defer func () {
207
+ _ = dbDump .Close ()
208
+ if err := util .Remove (dbDump .Name ()); err != nil {
209
+ log .Warn ("Unable to remove temporary file: %s: Error: %v" , dbDump .Name (), err )
210
+ }
211
+ }()
203
212
204
- targetDBType := ctx .String ("database" )
205
- if len (targetDBType ) > 0 && targetDBType != setting .Database .Type .String () {
206
- log .Info ("Dumping database %s => %s..." , setting .Database .Type , targetDBType )
207
- } else {
208
- log .Info ("Dumping database..." )
209
- }
213
+ targetDBType := ctx .String ("database" )
214
+ if len (targetDBType ) > 0 && targetDBType != setting .Database .Type .String () {
215
+ log .Info ("Dumping database %s => %s..." , setting .Database .Type , targetDBType )
216
+ } else {
217
+ log .Info ("Dumping database..." )
218
+ }
210
219
211
- if err := db .DumpDatabase (dbDump .Name (), targetDBType ); err != nil {
212
- fatal ("Failed to dump database: %v" , err )
213
- }
220
+ if err := db .DumpDatabase (dbDump .Name (), targetDBType ); err != nil {
221
+ fatal ("Failed to dump database: %v" , err )
222
+ }
214
223
215
- if err = dumper .AddFile ("gitea-db.sql" , dbDump .Name ()); err != nil {
216
- fatal ("Failed to include gitea-db.sql: %v" , err )
224
+ if err = dumper .AddFile ("gitea-db.sql" , dbDump .Name ()); err != nil {
225
+ fatal ("Failed to include gitea-db.sql: %v" , err )
226
+ }
217
227
}
218
228
219
229
log .Info ("Adding custom configuration file from %s" , setting .CustomConf )
0 commit comments