Update the `check_schema_delta` script to account for when the schema version has been bumped locally (#15466)
This commit is contained in:
parent
8e9739449d
commit
710502c6d8
|
@ -0,0 +1 @@
|
||||||
|
Update the check_schema_delta script to account for when the schema version has been bumped locally.
|
|
@ -40,10 +40,32 @@ def main(force_colors: bool) -> None:
|
||||||
exec(r, locals)
|
exec(r, locals)
|
||||||
current_schema_version = locals["SCHEMA_VERSION"]
|
current_schema_version = locals["SCHEMA_VERSION"]
|
||||||
|
|
||||||
click.secho(f"Current schema version: {current_schema_version}")
|
|
||||||
|
|
||||||
diffs: List[git.Diff] = repo.remote().refs.develop.commit.diff(None)
|
diffs: List[git.Diff] = repo.remote().refs.develop.commit.diff(None)
|
||||||
|
|
||||||
|
# Get the schema version of the local file to check against current schema on develop
|
||||||
|
with open("synapse/storage/schema/__init__.py", "r") as file:
|
||||||
|
local_schema = file.read()
|
||||||
|
new_locals: Dict[str, Any] = {}
|
||||||
|
exec(local_schema, new_locals)
|
||||||
|
local_schema_version = new_locals["SCHEMA_VERSION"]
|
||||||
|
|
||||||
|
if local_schema_version != current_schema_version:
|
||||||
|
# local schema version must be +/-1 the current schema version on develop
|
||||||
|
if abs(local_schema_version - current_schema_version) != 1:
|
||||||
|
click.secho(
|
||||||
|
"The proposed schema version has diverged more than one version from develop, please fix!",
|
||||||
|
fg="red",
|
||||||
|
bold=True,
|
||||||
|
color=force_colors,
|
||||||
|
)
|
||||||
|
click.get_current_context().exit(1)
|
||||||
|
|
||||||
|
# right, we've changed the schema version within the allowable tolerance so
|
||||||
|
# let's now use the local version as the canonical version
|
||||||
|
current_schema_version = local_schema_version
|
||||||
|
|
||||||
|
click.secho(f"Current schema version: {current_schema_version}")
|
||||||
|
|
||||||
seen_deltas = False
|
seen_deltas = False
|
||||||
bad_files = []
|
bad_files = []
|
||||||
for diff in diffs:
|
for diff in diffs:
|
||||||
|
|
Loading…
Reference in New Issue