(database string)
| 676 | } |
| 677 | |
| 678 | func LoadMysqlClientByFrom(database string) (mysql.MysqlClient, string, error) { |
| 679 | var ( |
| 680 | dbInfo client.DBInfo |
| 681 | version string |
| 682 | err error |
| 683 | ) |
| 684 | |
| 685 | dbInfo.Timeout = 300 |
| 686 | databaseItem, err := databaseRepo.Get(repo.WithByName(database)) |
| 687 | if err != nil { |
| 688 | return nil, "", err |
| 689 | } |
| 690 | dbInfo.Type = databaseItem.Type |
| 691 | dbInfo.From = databaseItem.From |
| 692 | dbInfo.Database = database |
| 693 | if dbInfo.From != "local" { |
| 694 | dbInfo.Address = databaseItem.Address |
| 695 | dbInfo.Port = databaseItem.Port |
| 696 | dbInfo.Username = databaseItem.Username |
| 697 | dbInfo.Password = databaseItem.Password |
| 698 | dbInfo.SSL = databaseItem.SSL |
| 699 | dbInfo.ClientKey = databaseItem.ClientKey |
| 700 | dbInfo.ClientCert = databaseItem.ClientCert |
| 701 | dbInfo.RootCert = databaseItem.RootCert |
| 702 | dbInfo.SkipVerify = databaseItem.SkipVerify |
| 703 | version = databaseItem.Version |
| 704 | |
| 705 | } else { |
| 706 | app, err := appInstallRepo.LoadBaseInfo(databaseItem.Type, database) |
| 707 | if err != nil { |
| 708 | return nil, "", err |
| 709 | } |
| 710 | dbInfo.Address = app.ContainerName |
| 711 | dbInfo.Username = "root" |
| 712 | dbInfo.Password = app.Password |
| 713 | version = app.Version |
| 714 | } |
| 715 | |
| 716 | cli, err := mysql.NewMysqlClient(dbInfo) |
| 717 | if err != nil { |
| 718 | return nil, "", err |
| 719 | } |
| 720 | return cli, version, nil |
| 721 | } |
no test coverage detected