forked from gitea/gitea
		
	fix dump table name error and add some test for dump database (#6394)
This commit is contained in:
		
							parent
							
								
									75601a8cbc
								
							
						
					
					
						commit
						91dcccf72d
					
				| @ -51,8 +51,9 @@ type Engine interface { | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	x      *xorm.Engine | ||||
| 	tables []interface{} | ||||
| 	x                  *xorm.Engine | ||||
| 	supportedDatabases = []string{"mysql", "postgres", "mssql"} | ||||
| 	tables             []interface{} | ||||
| 
 | ||||
| 	// HasEngine specifies if we have a xorm.Engine | ||||
| 	HasEngine bool | ||||
| @ -350,7 +351,9 @@ func Ping() error { | ||||
| func DumpDatabase(filePath string, dbType string) error { | ||||
| 	var tbs []*core.Table | ||||
| 	for _, t := range tables { | ||||
| 		tbs = append(tbs, x.TableInfo(t).Table) | ||||
| 		t := x.TableInfo(t) | ||||
| 		t.Table.Name = t.Name | ||||
| 		tbs = append(tbs, t.Table) | ||||
| 	} | ||||
| 	if len(dbType) > 0 { | ||||
| 		return x.DumpTablesToFile(tbs, filePath, core.DbType(dbType)) | ||||
|  | ||||
| @ -12,4 +12,5 @@ import ( | ||||
| 
 | ||||
| func init() { | ||||
| 	EnableSQLite3 = true | ||||
| 	supportedDatabases = append(supportedDatabases, "sqlite3") | ||||
| } | ||||
|  | ||||
| @ -6,6 +6,9 @@ | ||||
| package models | ||||
| 
 | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| @ -93,3 +96,14 @@ func Test_getPostgreSQLConnectionString(t *testing.T) { | ||||
| 		assert.Equal(t, test.Output, connStr) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestDumpDatabase(t *testing.T) { | ||||
| 	assert.NoError(t, PrepareTestDatabase()) | ||||
| 
 | ||||
| 	dir, err := ioutil.TempDir(os.TempDir(), "dump") | ||||
| 	assert.NoError(t, err) | ||||
| 
 | ||||
| 	for _, dbType := range supportedDatabases { | ||||
| 		assert.NoError(t, DumpDatabase(filepath.Join(dir, dbType+".sql"), dbType)) | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 techknowlogick
							techknowlogick