@@ -108,8 +108,43 @@ func DumpRemoteDB(config JsonConfig) ([]byte, error) {
108
108
return stdout .Bytes (), err
109
109
}
110
110
111
+ func createUserAndDB (dbName string , confLoc string ) {
112
+ fmt .Println ("Creating emptry db: `" + dbName + "` if does not exist ..." )
113
+
114
+ query := fmt .Sprintf (
115
+ "CREATE USER IF NOT EXISTS `%s`@'%%' IDENTIFIED BY 'secret'; " +
116
+ "CREATE DATABASE IF NOT EXISTS `%s`; " +
117
+ "GRANT ALL PRIVILEGES ON `%s`.* TO `%s`@'%%';" ,
118
+ dbName , dbName , dbName , dbName ,
119
+ )
120
+
121
+ args := []string {
122
+ "compose" ,
123
+ "-f" , confLoc ,
124
+ "exec" ,
125
+ "-T" ,
126
+ "mariadb" ,
127
+ "mariadb" ,
128
+ "-uroot" ,
129
+ "-psecret" ,
130
+ "-e" ,
131
+ query ,
132
+ }
133
+
134
+ cmd := exec .Command ("docker" , args ... )
135
+ cmd .Stdout = os .Stdout
136
+ cmd .Stderr = os .Stderr
137
+ if err := cmd .Run (); err != nil {
138
+ fmt .Println ("Error:" , err )
139
+ }
140
+ }
141
+
111
142
func WriteToLocalDB (sqlDumpStr string , conf JsonConfig , dumpDb bool ) {
112
143
fmt .Println ("Writing to local DB" )
144
+ confLoc := os .Getenv ("HOME" ) + "/www/dev/docker-compose.yml"
145
+
146
+ createUserAndDB (conf .Local .Db , confLoc )
147
+
113
148
sqlDump := []byte (sqlDumpStr )
114
149
var stdin bytes.Buffer
115
150
stdin .Write (sqlDump )
@@ -119,14 +154,13 @@ func WriteToLocalDB(sqlDumpStr string, conf JsonConfig, dumpDb bool) {
119
154
os .WriteFile ("db.sql" , sqlDump , 0644 )
120
155
}
121
156
122
- os .Chdir (os .Getenv ("HOME" ) + "/www/dev" )
123
-
124
157
args := []string {
125
158
"compose" ,
159
+ "-f" , confLoc ,
126
160
"exec" ,
127
161
"-T" ,
128
162
"mariadb" ,
129
- "mysql " ,
163
+ "mariadb " ,
130
164
"-uroot" ,
131
165
"-psecret" ,
132
166
conf .Local .Db ,
0 commit comments