Commit 77d13cc
committed
Add MigrationContext.Hooks for in-process hook implementations
gh-ost's only hook extension point is on-disk scripts globbed from
--hooks-path. Library callers that embed Migrator must either ship
scripts and their dependencies alongside their binary or maintain a
parallel Go layer that bridges script side effects back into the host
application.
Introduce a Hooks interface in go/base with one method per lifecycle
event, and an optional MigrationContext.Hooks field. NewMigrator reads
the field once at construction and falls back to the existing
HooksExecutor when unset, so CLI behavior is unchanged. A CompositeHooks
helper in go/logic lets callers run the on-disk script executor and
their own Go implementation side-by-side.
HooksExecutor's previously package-private method names are renamed
(onStartup -> OnStartup, etc.) so external types can satisfy the
interface. The struct and constructor were already exported but the
methods weren't, so no usable external API is displaced.1 parent 494570d commit 77d13cc
7 files changed
Lines changed: 348 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
| 159 | + | |
159 | 160 | | |
160 | 161 | | |
161 | 162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
37 | 166 | | |
38 | 167 | | |
39 | 168 | | |
| |||
111 | 240 | | |
112 | 241 | | |
113 | 242 | | |
114 | | - | |
| 243 | + | |
115 | 244 | | |
116 | 245 | | |
117 | 246 | | |
118 | | - | |
| 247 | + | |
119 | 248 | | |
120 | 249 | | |
121 | 250 | | |
122 | | - | |
| 251 | + | |
123 | 252 | | |
124 | 253 | | |
125 | | - | |
| 254 | + | |
126 | 255 | | |
127 | 256 | | |
128 | 257 | | |
129 | | - | |
| 258 | + | |
130 | 259 | | |
131 | 260 | | |
132 | 261 | | |
133 | 262 | | |
134 | | - | |
| 263 | + | |
135 | 264 | | |
136 | 265 | | |
137 | 266 | | |
138 | | - | |
| 267 | + | |
139 | 268 | | |
140 | 269 | | |
141 | 270 | | |
142 | | - | |
| 271 | + | |
143 | 272 | | |
144 | 273 | | |
145 | 274 | | |
146 | | - | |
| 275 | + | |
147 | 276 | | |
148 | 277 | | |
149 | 278 | | |
150 | 279 | | |
151 | | - | |
| 280 | + | |
152 | 281 | | |
153 | 282 | | |
154 | 283 | | |
155 | 284 | | |
156 | | - | |
| 285 | + | |
157 | 286 | | |
158 | 287 | | |
159 | 288 | | |
160 | | - | |
| 289 | + | |
161 | 290 | | |
162 | 291 | | |
163 | 292 | | |
164 | 293 | | |
165 | | - | |
| 294 | + | |
166 | 295 | | |
167 | 296 | | |
168 | 297 | | |
169 | | - | |
| 298 | + | |
170 | 299 | | |
171 | 300 | | |
0 commit comments