wordpress-deploy 1.0.0.rc1 → 1.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
@@ -62,6 +62,52 @@ includes PHP serialized strings).
|
|
62
62
|
from = WordpressDeploy::Environments.find from.to_sym
|
63
63
|
to = WordpressDeploy::Environments.find to.to_sym
|
64
64
|
|
65
|
+
# Save the correct configuration file
|
66
|
+
from.save_wp_config
|
67
|
+
|
68
|
+
# Send the files in wp_dir
|
69
|
+
from.transfer.transmit!
|
70
|
+
|
71
|
+
# Save the to database locally
|
72
|
+
to.database.save!
|
73
|
+
|
74
|
+
# Send the database to => from
|
75
|
+
to.database.send!(from)
|
76
|
+
|
77
|
+
# Now migrate the database to => from
|
78
|
+
to.database.migrate!(from)
|
79
|
+
|
80
|
+
rescue => err
|
81
|
+
Logger.error Errors::Cli::Utility::Error.wrap(err)
|
82
|
+
|
83
|
+
# Exit with an error
|
84
|
+
exit(1)
|
85
|
+
end
|
86
|
+
|
87
|
+
desc "mirror FROM TO", ""
|
88
|
+
def mirror(from, to)
|
89
|
+
# Set Logger into verbose mode (if the user requested it)
|
90
|
+
Logger.verbose = options[:verbose]
|
91
|
+
|
92
|
+
# Set environment options
|
93
|
+
Config.set_options options
|
94
|
+
|
95
|
+
# Load ALL the available environments
|
96
|
+
WordpressDeploy::Environments.load
|
97
|
+
|
98
|
+
# Get the Environment the user requested
|
99
|
+
from = WordpressDeploy::Environments.find from.to_sym
|
100
|
+
to = WordpressDeploy::Environments.find to.to_sym
|
101
|
+
|
102
|
+
# Save the to database locally
|
103
|
+
to.database.save!
|
104
|
+
|
105
|
+
# Send the database to => from
|
106
|
+
to.database.send!(from)
|
107
|
+
|
108
|
+
# Now migrate the database to => from
|
109
|
+
to.database.migrate!(from)
|
110
|
+
|
65
111
|
rescue => err
|
66
112
|
Logger.error Errors::Cli::Utility::Error.wrap(err)
|
67
113
|
|
@@ -19,6 +19,8 @@ module WordpressDeploy
|
|
19
19
|
|
20
20
|
@has_port ||= true
|
21
21
|
@has_socket ||= false
|
22
|
+
|
23
|
+
@base_url ||= @host
|
22
24
|
end
|
23
25
|
|
24
26
|
##
|
@@ -122,6 +124,13 @@ module WordpressDeploy
|
|
122
124
|
@prefix
|
123
125
|
end
|
124
126
|
|
127
|
+
##
|
128
|
+
#
|
129
|
+
def base_url(new_url = nil)
|
130
|
+
@base_url = new_url.to_s unless new_url.nil?
|
131
|
+
@base_url
|
132
|
+
end
|
133
|
+
|
125
134
|
##
|
126
135
|
# The file that the instance would save to if
|
127
136
|
# save is called.
|
@@ -151,24 +160,25 @@ module WordpressDeploy
|
|
151
160
|
|
152
161
|
##
|
153
162
|
#
|
154
|
-
def send!(
|
163
|
+
def send!(to_env)
|
164
|
+
# Get the MySql instance
|
165
|
+
to_db = to_env.database
|
166
|
+
|
155
167
|
# Check to see if there is a SQL file
|
156
168
|
if File.exists? file
|
157
|
-
# Create the 'to' configuration
|
158
|
-
mysql = self.class.new(to_config_name)
|
159
|
-
|
160
169
|
# Open the source sql file for reading
|
161
|
-
tmp_file = Tempfile.new(["#{
|
170
|
+
tmp_file = Tempfile.new(["#{to_db.name}", '.sql'])
|
162
171
|
|
163
172
|
# Write sql to tmpfile while changing the
|
164
173
|
# the CREATE DATABASE and USE commands to make sense for
|
165
174
|
# the 'to' configuration
|
166
175
|
sql_dump = File.read(file)
|
167
|
-
sql_dump.gsub!(/^
|
176
|
+
sql_dump.gsub!(/^CREATE\ DATABASE.*$/i, "")
|
177
|
+
sql_dump.gsub!(/^USE\ `#{name}`/, "USE `#{to_db.name}`")
|
168
178
|
tmp_file.puts sql_dump
|
169
179
|
|
170
180
|
# Get the MySQL load command
|
171
|
-
cmd = mysqlload
|
181
|
+
cmd = mysqlload to_db, tmp_file.path
|
172
182
|
|
173
183
|
# Run the mysql command to load the mysqldump into
|
174
184
|
# the destination mysql instance
|
@@ -181,21 +191,23 @@ module WordpressDeploy
|
|
181
191
|
|
182
192
|
##
|
183
193
|
#
|
184
|
-
def migrate!(
|
185
|
-
|
194
|
+
def migrate!(to_env)
|
195
|
+
# Get the MySql instance
|
196
|
+
to_db = to_env.database
|
186
197
|
|
187
198
|
client = Mysql2::Client.new(
|
188
|
-
:host =>
|
189
|
-
:username =>
|
190
|
-
:password =>
|
191
|
-
:port =>
|
192
|
-
:database =>
|
199
|
+
:host => to_db.host,
|
200
|
+
:username => to_db.user,
|
201
|
+
:password => to_db.password,
|
202
|
+
:port => to_db.port,
|
203
|
+
:database => to_db.name,
|
193
204
|
#:socket = '/path/to/mysql.sock',
|
194
|
-
:encoding =>
|
205
|
+
:encoding => to_db.charset
|
195
206
|
)
|
196
207
|
|
197
|
-
|
198
|
-
|
208
|
+
# MySQL escape
|
209
|
+
value_to_find = base_url
|
210
|
+
value_to_replace = to_env.base_url
|
199
211
|
escaped_value_to_find = client.escape(value_to_find)
|
200
212
|
|
201
213
|
# wp_options option_value
|
@@ -288,13 +300,13 @@ module WordpressDeploy
|
|
288
300
|
"#{utility("mysqldump")} #{arguments}"
|
289
301
|
end
|
290
302
|
|
291
|
-
def mysqlload(
|
303
|
+
def mysqlload(database, file_name)
|
292
304
|
mysql = self.class.new config_name
|
293
|
-
arg_port =
|
294
|
-
arg_host =
|
295
|
-
arg_user =
|
296
|
-
arg_pass =
|
297
|
-
arg_name =
|
305
|
+
arg_port = database.port
|
306
|
+
arg_host = database.host
|
307
|
+
arg_user = database.user
|
308
|
+
arg_pass = database.password
|
309
|
+
arg_name = database.name
|
298
310
|
arguments = "-P \"#{arg_port}\" -u \"#{arg_user}\" -h \"#{arg_host}\" -p\"#{arg_pass}\" -D \"#{arg_name}\""
|
299
311
|
|
300
312
|
"#{utility("mysql")} #{arguments} < #{file_name}"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wordpress-deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -218,7 +218,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
218
218
|
version: '0'
|
219
219
|
segments:
|
220
220
|
- 0
|
221
|
-
hash:
|
221
|
+
hash: 720648579752953508
|
222
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
223
223
|
none: false
|
224
224
|
requirements:
|