@@ 111-127 (lines=17) @@ | ||
108 | $process->mustRun(); |
|
109 | } |
|
110 | ||
111 | public function dump($file) |
|
112 | { |
|
113 | $defaultsFileName = $this->createMysqlDefaultsFile(); |
|
114 | ||
115 | try { |
|
116 | $this->runCommand( |
|
117 | escapeshellcmd($this->mysqldumpPath) |
|
118 | .' --defaults-extra-file='.escapeshellarg($defaultsFileName) |
|
119 | .' '.escapeshellarg($this->dsn['dbname']) |
|
120 | .' > '.escapeshellarg($file) |
|
121 | ); |
|
122 | } catch (ProcessFailedException $e) { |
|
123 | unlink($defaultsFileName); |
|
124 | ||
125 | throw new Exception('mysqldump failed: '.$e->getProcess()->getErrorOutput()); |
|
126 | } |
|
127 | } |
|
128 | ||
129 | public function restore($file) |
|
130 | { |
|
@@ 129-145 (lines=17) @@ | ||
126 | } |
|
127 | } |
|
128 | ||
129 | public function restore($file) |
|
130 | { |
|
131 | $defaultsFileName = $this->createMysqlDefaultsFile(); |
|
132 | ||
133 | try { |
|
134 | $this->runCommand( |
|
135 | escapeshellcmd($this->mysqlPath) |
|
136 | .' --defaults-extra-file='.escapeshellarg($defaultsFileName) |
|
137 | .' '.escapeshellarg($this->dsn['dbname']) |
|
138 | .' < '.escapeshellarg($file) |
|
139 | ); |
|
140 | } catch (ProcessFailedException $e) { |
|
141 | unlink($defaultsFileName); |
|
142 | ||
143 | throw new Exception('mysql failed: '.$e->getProcess()->getErrorOutput()); |
|
144 | } |
|
145 | } |
|
146 | } |
|
147 |