wordpress-deploy 1.0.0.rc1 → 1.0.0.rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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:
|