etcdutl: Implement migrate --force command
Co-authored-by: nic-chen <33000667+nic-chen@users.noreply.github.com> Co-authored-by: Heisenberg <yuzhiquanlong@gmail.com>
This commit is contained in:
@ -32,7 +32,7 @@ var (
|
||||
func UpdateStorageSchema(lg *zap.Logger, tx backend.BatchTx) error {
|
||||
tx.Lock()
|
||||
defer tx.Unlock()
|
||||
v, err := detectStorageVersion(lg, tx)
|
||||
v, err := DetectSchemaVersion(lg, tx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot determine storage version: %w", err)
|
||||
}
|
||||
@ -48,7 +48,7 @@ func UpdateStorageSchema(lg *zap.Logger, tx backend.BatchTx) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func detectStorageVersion(lg *zap.Logger, tx backend.ReadTx) (*semver.Version, error) {
|
||||
func DetectSchemaVersion(lg *zap.Logger, tx backend.ReadTx) (*semver.Version, error) {
|
||||
v := UnsafeReadStorageVersion(tx)
|
||||
if v != nil {
|
||||
return v, nil
|
||||
|
@ -59,3 +59,8 @@ func UnsafeSetStorageVersion(tx backend.BatchTx, v *semver.Version) {
|
||||
sv := semver.Version{Major: v.Major, Minor: v.Minor}
|
||||
tx.UnsafePut(Meta, MetaStorageVersionName, []byte(sv.String()))
|
||||
}
|
||||
|
||||
// UnsafeClearStorageVersion removes etcd storage version in backend.
|
||||
func UnsafeClearStorageVersion(tx backend.BatchTx) {
|
||||
tx.UnsafeDelete(Meta, MetaStorageVersionName)
|
||||
}
|
||||
|
Reference in New Issue
Block a user