8
8
9
9
app = typer .Typer (help = "Index Schema Management" )
10
10
11
- SEARCH_URL = os .environ .get ("PAPERMERGE__SEARCH__URL" )
12
- if not SEARCH_URL :
13
- raise ValueError ("missing PAPERMERGE__SEARCH__URL" )
14
-
15
- engine = create_engine (SEARCH_URL )
16
- schema_manager = SchemaManager (engine , model = SearchIndex )
17
-
18
11
19
12
@app .command (name = "apply" )
20
13
def apply_cmd (dry_run : bool = False ):
21
14
"""Apply schema fields"""
15
+ schema_manager = get_schema_manager ()
22
16
23
17
if dry_run :
24
18
print_json (data = schema_manager .apply_dict_dump ())
@@ -29,6 +23,8 @@ def apply_cmd(dry_run: bool = False):
29
23
@app .command (name = "delete" )
30
24
def delete_cmd (dry_run : bool = False ):
31
25
"""Delete schema fields"""
26
+ schema_manager = get_schema_manager ()
27
+
32
28
if dry_run :
33
29
print_json (data = schema_manager .delete_dict_dump ())
34
30
else :
@@ -38,7 +34,18 @@ def delete_cmd(dry_run: bool = False):
38
34
@app .command (name = "create" )
39
35
def create_cmd (dry_run : bool = False ):
40
36
"""Create schema fields"""
37
+ schema_manager = get_schema_manager ()
38
+
41
39
if dry_run :
42
40
print_json (data = schema_manager .create_dict_dump ())
43
41
else :
44
42
schema_manager .create ()
43
+
44
+
45
+ def get_schema_manager ():
46
+ search_url = os .environ .get ("PAPERMERGE__SEARCH__URL" )
47
+ if not search_url :
48
+ raise ValueError ("missing PAPERMERGE__SEARCH__URL" )
49
+
50
+ engine = create_engine (search_url )
51
+ return SchemaManager (engine , model = SearchIndex )
0 commit comments