@@ -35,6 +35,7 @@ def cls_to_dbscheme(cls: schema.Class):
3535 """ Yield all dbscheme entities needed to model class `cls` """
3636 if cls .derived :
3737 yield Union (dbtype (cls .name ), (dbtype (c ) for c in cls .derived ))
38+ dir = cls .dir if cls .dir != pathlib .Path () else None
3839 # output a table specific to a class only if it is a leaf class or it has 1-to-1 properties
3940 # Leaf classes need a table to bind the `@` ids
4041 # 1-to-1 properties are added to a class specific table
@@ -49,7 +50,8 @@ def cls_to_dbscheme(cls: schema.Class):
4950 Column ("id" , type = dbtype (cls .name ), binding = binding ),
5051 ] + [
5152 Column (f .name , dbtype (f .type )) for f in cls .properties if f .is_single
52- ]
53+ ],
54+ dir = dir ,
5355 )
5456 # use property-specific tables for 1-to-many and 1-to-at-most-1 properties
5557 for f in cls .properties :
@@ -61,7 +63,8 @@ def cls_to_dbscheme(cls: schema.Class):
6163 Column ("id" , type = dbtype (cls .name )),
6264 Column ("index" , type = "int" ),
6365 Column (inflection .singularize (f .name ), dbtype (f .type )),
64- ]
66+ ],
67+ dir = dir ,
6568 )
6669 elif f .is_optional :
6770 yield Table (
@@ -71,6 +74,7 @@ def cls_to_dbscheme(cls: schema.Class):
7174 Column ("id" , type = dbtype (cls .name )),
7275 Column (f .name , dbtype (f .type )),
7376 ],
77+ dir = dir ,
7478 )
7579 elif f .is_predicate :
7680 yield Table (
@@ -79,6 +83,7 @@ def cls_to_dbscheme(cls: schema.Class):
7983 columns = [
8084 Column ("id" , type = dbtype (cls .name )),
8185 ],
86+ dir = dir ,
8287 )
8388
8489
0 commit comments