lhm 1.0.0.rc3 → 1.0.0.rc4
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.
- data/CHANGELOG.md +5 -0
- data/lib/lhm/sql_helper.rb +8 -2
- data/lib/lhm/version.rb +1 -1
- data/spec/config/.config +1 -0
- data/spec/config/clobber +3 -3
- data/spec/config/grants +3 -3
- data/spec/config/setup-cluster +15 -11
- metadata +7 -15
- data/.config +0 -3
data/CHANGELOG.md
CHANGED
data/lib/lhm/sql_helper.rb
CHANGED
@@ -21,14 +21,16 @@ module Lhm
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def sql(statements)
|
24
|
-
[statements].flatten.each
|
24
|
+
[statements].flatten.each do |statement|
|
25
|
+
connection.execute(tagged(statement))
|
26
|
+
end
|
25
27
|
rescue ActiveRecord::StatementInvalid, Mysql::Error => e
|
26
28
|
error e.message
|
27
29
|
end
|
28
30
|
|
29
31
|
def update(statements)
|
30
32
|
[statements].flatten.inject(0) do |memo, statement|
|
31
|
-
memo += connection.update(statement)
|
33
|
+
memo += connection.update(tagged(statement))
|
32
34
|
end
|
33
35
|
rescue ActiveRecord::StatementInvalid, Mysql::Error => e
|
34
36
|
error e.message
|
@@ -36,6 +38,10 @@ module Lhm
|
|
36
38
|
|
37
39
|
private
|
38
40
|
|
41
|
+
def tagged(statement)
|
42
|
+
statement + " -- lhm"
|
43
|
+
end
|
44
|
+
|
39
45
|
def column_definition(cols)
|
40
46
|
Array(cols).map do |column|
|
41
47
|
column.to_s.match(/`?([^\(]+)`?(\([^\)]+\))?/).captures
|
data/lib/lhm/version.rb
CHANGED
data/spec/config/.config
CHANGED
data/spec/config/clobber
CHANGED
@@ -12,7 +12,7 @@ lhmkill() {
|
|
12
12
|
|
13
13
|
echo stopping other running mysql instance
|
14
14
|
launchctl remove com.mysql.mysqld || { echo launchctl did not remove mysqld; }
|
15
|
-
mysqladmin shutdown || { echo mysqladmin did not shut down anything; }
|
15
|
+
"$mysqldir"/bin/mysqladmin shutdown || { echo mysqladmin did not shut down anything; }
|
16
16
|
|
17
17
|
echo killing lhm-cluster
|
18
18
|
lhmkill
|
@@ -24,8 +24,8 @@ echo setting up cluster
|
|
24
24
|
spec/config/setup-cluster
|
25
25
|
|
26
26
|
echo staring instances
|
27
|
-
mysqld --defaults-file="$basedir/master/my.cnf" 2>&1 >$basedir/master/lhm.log &
|
28
|
-
mysqld --defaults-file="$basedir/slave/my.cnf" 2>&1 >$basedir/slave/lhm.log &
|
27
|
+
"$mysqldir"/bin/mysqld --defaults-file="$basedir/master/my.cnf" 2>&1 >$basedir/master/lhm.log &
|
28
|
+
"$mysqldir"/bin/mysqld --defaults-file="$basedir/slave/my.cnf" 2>&1 >$basedir/slave/lhm.log &
|
29
29
|
sleep 5
|
30
30
|
|
31
31
|
echo running grants
|
data/spec/config/grants
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
source .config
|
4
4
|
|
5
|
-
master() { mysql --protocol=TCP -P $master_port -uroot; }
|
6
|
-
slave() { mysql --protocol=TCP -P $slave_port -uroot; }
|
5
|
+
master() { "$mysqldir"/bin/mysql --protocol=TCP -P $master_port -uroot; }
|
6
|
+
slave() { "$mysqldir"/bin/mysql --protocol=TCP -P $slave_port -uroot; }
|
7
7
|
|
8
8
|
# set up master
|
9
9
|
|
@@ -22,4 +22,4 @@ echo "grant all privileges on *.* to ''@'localhost'" | master
|
|
22
22
|
echo "grant all privileges on *.* to ''@'localhost'" | slave
|
23
23
|
|
24
24
|
echo "create database lhm" | master
|
25
|
-
echo "create database lhm" | slave
|
25
|
+
echo "create database if not exists lhm" | slave
|
data/spec/config/setup-cluster
CHANGED
@@ -42,20 +42,24 @@ server-id = 2
|
|
42
42
|
|
43
43
|
# replication (optional filters)
|
44
44
|
|
45
|
-
replicate-do-table = lhm.users
|
46
|
-
replicate-do-table = lhm.lhmn_users
|
47
|
-
replicate-wild-do = lhm.lhma_%_users
|
45
|
+
# replicate-do-table = lhm.users
|
46
|
+
# replicate-do-table = lhm.lhmn_users
|
47
|
+
# replicate-wild-do-table = lhm.lhma_%_users
|
48
48
|
|
49
|
-
replicate-do-table = lhm.origin
|
50
|
-
replicate-do-table = lhm.lhmn_origin
|
51
|
-
replicate-wild-do = lhm.lhma_%_origin
|
49
|
+
# replicate-do-table = lhm.origin
|
50
|
+
# replicate-do-table = lhm.lhmn_origin
|
51
|
+
# replicate-wild-do-table = lhm.lhma_%_origin
|
52
52
|
|
53
|
-
replicate-do-table = lhm.destination
|
54
|
-
replicate-do-table = lhm.lhmn_destination
|
55
|
-
replicate-wild-do = lhm.lhma_%_destination
|
53
|
+
# replicate-do-table = lhm.destination
|
54
|
+
# replicate-do-table = lhm.lhmn_destination
|
55
|
+
# replicate-wild-do-table = lhm.lhma_%_destination
|
56
56
|
CNF
|
57
57
|
|
58
58
|
# build system tables
|
59
59
|
|
60
|
-
|
61
|
-
|
60
|
+
(
|
61
|
+
cd "$mysqldir"
|
62
|
+
./scripts/mysql_install_db --datadir="$basedir/master/data"
|
63
|
+
./scripts/mysql_install_db --datadir="$basedir/slave/data"
|
64
|
+
|
65
|
+
)
|
metadata
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lhm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: 6
|
4
|
+
prerelease: true
|
6
5
|
segments:
|
7
6
|
- 1
|
8
7
|
- 0
|
9
8
|
- 0
|
10
|
-
-
|
11
|
-
|
12
|
-
version: 1.0.0.rc3
|
9
|
+
- rc4
|
10
|
+
version: 1.0.0.rc4
|
13
11
|
platform: ruby
|
14
12
|
authors:
|
15
13
|
- SoundCloud
|
@@ -20,7 +18,8 @@ autorequire:
|
|
20
18
|
bindir: bin
|
21
19
|
cert_chain: []
|
22
20
|
|
23
|
-
date: 2012-01-
|
21
|
+
date: 2012-01-29 00:00:00 +01:00
|
22
|
+
default_executable:
|
24
23
|
dependencies:
|
25
24
|
- !ruby/object:Gem::Dependency
|
26
25
|
name: mysql
|
@@ -30,7 +29,6 @@ dependencies:
|
|
30
29
|
requirements:
|
31
30
|
- - ~>
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
hash: 45
|
34
32
|
segments:
|
35
33
|
- 2
|
36
34
|
- 8
|
@@ -46,7 +44,6 @@ dependencies:
|
|
46
44
|
requirements:
|
47
45
|
- - "="
|
48
46
|
- !ruby/object:Gem::Version
|
49
|
-
hash: 39
|
50
47
|
segments:
|
51
48
|
- 2
|
52
49
|
- 10
|
@@ -62,7 +59,6 @@ dependencies:
|
|
62
59
|
requirements:
|
63
60
|
- - ">="
|
64
61
|
- !ruby/object:Gem::Version
|
65
|
-
hash: 3
|
66
62
|
segments:
|
67
63
|
- 0
|
68
64
|
version: "0"
|
@@ -76,7 +72,6 @@ dependencies:
|
|
76
72
|
requirements:
|
77
73
|
- - ">="
|
78
74
|
- !ruby/object:Gem::Version
|
79
|
-
hash: 3
|
80
75
|
segments:
|
81
76
|
- 0
|
82
77
|
version: "0"
|
@@ -91,7 +86,6 @@ extensions: []
|
|
91
86
|
extra_rdoc_files: []
|
92
87
|
|
93
88
|
files:
|
94
|
-
- .config
|
95
89
|
- .gitignore
|
96
90
|
- .travis.yml
|
97
91
|
- CHANGELOG.md
|
@@ -136,6 +130,7 @@ files:
|
|
136
130
|
- spec/unit/sql_helper_spec.rb
|
137
131
|
- spec/unit/table_spec.rb
|
138
132
|
- spec/unit/unit_helper.rb
|
133
|
+
has_rdoc: true
|
139
134
|
homepage: http://github.com/soundcloud/large-hadron-migrator
|
140
135
|
licenses: []
|
141
136
|
|
@@ -149,7 +144,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
144
|
requirements:
|
150
145
|
- - ">="
|
151
146
|
- !ruby/object:Gem::Version
|
152
|
-
hash: 3
|
153
147
|
segments:
|
154
148
|
- 0
|
155
149
|
version: "0"
|
@@ -158,7 +152,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
152
|
requirements:
|
159
153
|
- - ">"
|
160
154
|
- !ruby/object:Gem::Version
|
161
|
-
hash: 25
|
162
155
|
segments:
|
163
156
|
- 1
|
164
157
|
- 3
|
@@ -167,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
160
|
requirements: []
|
168
161
|
|
169
162
|
rubyforge_project:
|
170
|
-
rubygems_version: 1.
|
163
|
+
rubygems_version: 1.3.7
|
171
164
|
signing_key:
|
172
165
|
specification_version: 3
|
173
166
|
summary: online schema changer for mysql
|
@@ -195,4 +188,3 @@ test_files:
|
|
195
188
|
- spec/unit/sql_helper_spec.rb
|
196
189
|
- spec/unit/table_spec.rb
|
197
190
|
- spec/unit/unit_helper.rb
|
198
|
-
has_rdoc:
|
data/.config
DELETED