ormlambda 3.12.2__py3-none-any.whl → 3.34.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ormlambda/__init__.py +2 -0
- ormlambda/caster/__init__.py +1 -1
- ormlambda/caster/caster.py +29 -12
- ormlambda/common/abstract_classes/clause_info_converter.py +4 -12
- ormlambda/common/abstract_classes/decomposition_query.py +17 -2
- ormlambda/common/abstract_classes/non_query_base.py +9 -7
- ormlambda/common/abstract_classes/query_base.py +3 -1
- ormlambda/common/errors/__init__.py +29 -0
- ormlambda/common/interfaces/IQueryCommand.py +6 -2
- ormlambda/databases/__init__.py +0 -1
- ormlambda/databases/my_sql/__init__.py +0 -1
- ormlambda/databases/my_sql/caster/caster.py +23 -19
- ormlambda/databases/my_sql/caster/types/__init__.py +3 -0
- ormlambda/databases/my_sql/caster/types/boolean.py +35 -0
- ormlambda/databases/my_sql/caster/types/bytes.py +7 -7
- ormlambda/databases/my_sql/caster/types/date.py +34 -0
- ormlambda/databases/my_sql/caster/types/datetime.py +7 -7
- ormlambda/databases/my_sql/caster/types/decimal.py +32 -0
- ormlambda/databases/my_sql/caster/types/float.py +7 -7
- ormlambda/databases/my_sql/caster/types/int.py +7 -7
- ormlambda/databases/my_sql/caster/types/iterable.py +7 -7
- ormlambda/databases/my_sql/caster/types/none.py +8 -7
- ormlambda/databases/my_sql/caster/types/point.py +4 -4
- ormlambda/databases/my_sql/caster/types/string.py +7 -7
- ormlambda/databases/my_sql/clauses/ST_AsText.py +8 -7
- ormlambda/databases/my_sql/clauses/ST_Contains.py +10 -5
- ormlambda/databases/my_sql/clauses/__init__.py +4 -10
- ormlambda/databases/my_sql/clauses/count.py +5 -15
- ormlambda/databases/my_sql/clauses/delete.py +3 -50
- ormlambda/databases/my_sql/clauses/group_by.py +3 -16
- ormlambda/databases/my_sql/clauses/having.py +2 -6
- ormlambda/databases/my_sql/clauses/insert.py +4 -92
- ormlambda/databases/my_sql/clauses/joins.py +5 -140
- ormlambda/databases/my_sql/clauses/limit.py +4 -15
- ormlambda/databases/my_sql/clauses/offset.py +4 -15
- ormlambda/databases/my_sql/clauses/order.py +4 -61
- ormlambda/databases/my_sql/clauses/update.py +4 -67
- ormlambda/databases/my_sql/clauses/upsert.py +3 -66
- ormlambda/databases/my_sql/clauses/where.py +4 -42
- ormlambda/databases/my_sql/repository.py +217 -0
- ormlambda/dialects/__init__.py +39 -0
- ormlambda/dialects/default/__init__.py +1 -0
- ormlambda/dialects/default/base.py +39 -0
- ormlambda/dialects/interface/__init__.py +1 -0
- ormlambda/dialects/interface/dialect.py +78 -0
- ormlambda/dialects/mysql/__init__.py +8 -0
- ormlambda/dialects/mysql/base.py +387 -0
- ormlambda/dialects/mysql/mysqlconnector.py +46 -0
- ormlambda/dialects/mysql/types.py +732 -0
- ormlambda/dialects/sqlite/__init__.py +5 -0
- ormlambda/dialects/sqlite/base.py +47 -0
- ormlambda/dialects/sqlite/pysqlite.py +32 -0
- ormlambda/engine/__init__.py +1 -0
- ormlambda/engine/base.py +58 -0
- ormlambda/engine/create.py +9 -23
- ormlambda/engine/url.py +31 -19
- ormlambda/env.py +30 -0
- ormlambda/errors.py +17 -0
- ormlambda/model/base_model.py +7 -9
- ormlambda/repository/base_repository.py +36 -5
- ormlambda/repository/interfaces/IRepositoryBase.py +121 -7
- ormlambda/repository/response.py +134 -0
- ormlambda/sql/clause_info/aggregate_function_base.py +19 -9
- ormlambda/sql/clause_info/clause_info.py +34 -17
- ormlambda/sql/clauses/__init__.py +14 -0
- ormlambda/{databases/my_sql → sql}/clauses/alias.py +23 -6
- ormlambda/sql/clauses/count.py +57 -0
- ormlambda/sql/clauses/delete.py +71 -0
- ormlambda/sql/clauses/group_by.py +30 -0
- ormlambda/sql/clauses/having.py +21 -0
- ormlambda/sql/clauses/insert.py +104 -0
- ormlambda/sql/clauses/interfaces/__init__.py +5 -0
- ormlambda/{components → sql/clauses}/join/join_context.py +15 -7
- ormlambda/sql/clauses/joins.py +159 -0
- ormlambda/sql/clauses/limit.py +15 -0
- ormlambda/sql/clauses/offset.py +15 -0
- ormlambda/sql/clauses/order.py +55 -0
- ormlambda/{databases/my_sql → sql}/clauses/select.py +12 -13
- ormlambda/sql/clauses/update.py +84 -0
- ormlambda/sql/clauses/upsert.py +77 -0
- ormlambda/sql/clauses/where.py +65 -0
- ormlambda/sql/column/__init__.py +1 -0
- ormlambda/sql/{column.py → column/column.py} +82 -22
- ormlambda/sql/comparer.py +51 -37
- ormlambda/sql/compiler.py +427 -0
- ormlambda/sql/ddl.py +68 -0
- ormlambda/sql/elements.py +36 -0
- ormlambda/sql/foreign_key.py +43 -39
- ormlambda/{databases/my_sql → sql}/functions/concat.py +13 -5
- ormlambda/{databases/my_sql → sql}/functions/max.py +9 -4
- ormlambda/{databases/my_sql → sql}/functions/min.py +9 -13
- ormlambda/{databases/my_sql → sql}/functions/sum.py +8 -10
- ormlambda/sql/sqltypes.py +647 -0
- ormlambda/sql/table/__init__.py +1 -1
- ormlambda/sql/table/table.py +179 -0
- ormlambda/sql/table/table_constructor.py +1 -208
- ormlambda/sql/type_api.py +35 -0
- ormlambda/sql/types.py +3 -1
- ormlambda/sql/visitors.py +74 -0
- ormlambda/statements/__init__.py +1 -0
- ormlambda/statements/base_statement.py +28 -38
- ormlambda/statements/interfaces/IStatements.py +5 -4
- ormlambda/{databases/my_sql → statements}/query_builder.py +35 -30
- ormlambda/{databases/my_sql → statements}/statements.py +50 -60
- ormlambda/statements/types.py +2 -2
- ormlambda/types/__init__.py +24 -0
- ormlambda/types/metadata.py +42 -0
- ormlambda/util/__init__.py +88 -0
- ormlambda/util/load_module.py +21 -0
- ormlambda/util/plugin_loader.py +32 -0
- ormlambda/util/typing.py +6 -0
- ormlambda-3.34.1.dist-info/AUTHORS +32 -0
- {ormlambda-3.12.2.dist-info → ormlambda-3.34.1.dist-info}/METADATA +2 -3
- ormlambda-3.34.1.dist-info/RECORD +157 -0
- {ormlambda-3.12.2.dist-info → ormlambda-3.34.1.dist-info}/WHEEL +1 -1
- ormlambda/components/__init__.py +0 -4
- ormlambda/components/delete/__init__.py +0 -2
- ormlambda/components/delete/abstract_delete.py +0 -17
- ormlambda/components/insert/__init__.py +0 -2
- ormlambda/components/insert/abstract_insert.py +0 -25
- ormlambda/components/select/__init__.py +0 -1
- ormlambda/components/update/__init__.py +0 -2
- ormlambda/components/update/abstract_update.py +0 -29
- ormlambda/components/upsert/__init__.py +0 -2
- ormlambda/components/upsert/abstract_upsert.py +0 -25
- ormlambda/databases/my_sql/clauses/create_database.py +0 -35
- ormlambda/databases/my_sql/clauses/drop_database.py +0 -17
- ormlambda/databases/my_sql/repository/__init__.py +0 -1
- ormlambda/databases/my_sql/repository/repository.py +0 -351
- ormlambda/engine/template.py +0 -47
- ormlambda/sql/dtypes.py +0 -94
- ormlambda/utils/__init__.py +0 -1
- ormlambda-3.12.2.dist-info/RECORD +0 -125
- /ormlambda/databases/my_sql/{types.py → pool_types.py} +0 -0
- /ormlambda/{components/delete → sql/clauses/interfaces}/IDelete.py +0 -0
- /ormlambda/{components/insert → sql/clauses/interfaces}/IInsert.py +0 -0
- /ormlambda/{components/select → sql/clauses/interfaces}/ISelect.py +0 -0
- /ormlambda/{components/update → sql/clauses/interfaces}/IUpdate.py +0 -0
- /ormlambda/{components/upsert → sql/clauses/interfaces}/IUpsert.py +0 -0
- /ormlambda/{components → sql/clauses}/join/__init__.py +0 -0
- /ormlambda/{databases/my_sql → sql}/functions/__init__.py +0 -0
- /ormlambda/{utils → util}/module_tree/__init__.py +0 -0
- /ormlambda/{utils → util}/module_tree/dfs_traversal.py +0 -0
- /ormlambda/{utils → util}/module_tree/dynamic_module.py +0 -0
- {ormlambda-3.12.2.dist-info → ormlambda-3.34.1.dist-info}/LICENSE +0 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
from typing import Callable, Optional
|
2
|
+
from types import ModuleType
|
3
|
+
from ormlambda import errors
|
4
|
+
|
5
|
+
|
6
|
+
class PluginLoader:
|
7
|
+
def __init__(self, group: str, auto_fn: Optional[Callable[..., ModuleType]] = None):
|
8
|
+
self.group = group
|
9
|
+
self.impls: dict[str, ModuleType] = {}
|
10
|
+
self.auto_fn = auto_fn
|
11
|
+
|
12
|
+
def clear(self):
|
13
|
+
self.impls.clear()
|
14
|
+
|
15
|
+
def load(self, name: str) -> Optional[ModuleType]:
|
16
|
+
if name in self.impls:
|
17
|
+
return self.impls[name]()
|
18
|
+
if self.auto_fn:
|
19
|
+
loader = self.auto_fn(name)
|
20
|
+
if loader:
|
21
|
+
self.impls[name] = loader
|
22
|
+
return loader()
|
23
|
+
raise errors.NoSuchModuleError(f"Can't load plugin: {self.group}:{name}")
|
24
|
+
|
25
|
+
def register(self, name: str, modulepath: str, objname: str) -> None:
|
26
|
+
def load():
|
27
|
+
mod = __import__(modulepath)
|
28
|
+
for token in modulepath.split(".")[1:]:
|
29
|
+
mod = getattr(mod, token)
|
30
|
+
return getattr(mod, objname)
|
31
|
+
|
32
|
+
self.impls[name] = load
|
ormlambda/util/typing.py
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
ormlambda was created by Pablo hernandez.
|
2
|
+
|
3
|
+
Some files was originally written by other authors from sqlalchemy library and rewritten by Pablo Hernandez
|
4
|
+
|
5
|
+
Major contributing authors include:
|
6
|
+
|
7
|
+
- Pablo Hernandez
|
8
|
+
- Jason Kirtland
|
9
|
+
- Michael Trier
|
10
|
+
- Diana Clarke
|
11
|
+
- Gaetan de Menten
|
12
|
+
- Lele Gaifax
|
13
|
+
- Jonathan Ellis
|
14
|
+
- Gord Thompson
|
15
|
+
- Federico Caselli
|
16
|
+
- Philip Jenvey
|
17
|
+
- Rick Morrison
|
18
|
+
- Chris Withers
|
19
|
+
- Ants Aasma
|
20
|
+
- Sheila Allen
|
21
|
+
- Paul Johnston
|
22
|
+
- Tony Locke
|
23
|
+
- Hajime Nakagami
|
24
|
+
- Vraj Mohan
|
25
|
+
- Robert Leftwich
|
26
|
+
- Taavi Burns
|
27
|
+
- Jonathan Vanasco
|
28
|
+
- Jeff Widman
|
29
|
+
- Scott Dugas
|
30
|
+
- Dobes Vandermeer
|
31
|
+
- Ville Skytta
|
32
|
+
- Rodrigo Menezes
|
@@ -1,13 +1,12 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.1
|
2
2
|
Name: ormlambda
|
3
|
-
Version: 3.
|
3
|
+
Version: 3.34.1
|
4
4
|
Summary: ORM designed to interact with the database (currently with MySQL) using lambda functions and nested functions
|
5
5
|
Author: p-hzamora
|
6
6
|
Author-email: p.hzamora@icloud.com
|
7
7
|
Requires-Python: >=3.12,<4.0
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
10
|
-
Classifier: Programming Language :: Python :: 3.13
|
11
10
|
Requires-Dist: mysql-connector-python (>=9.0.0,<10.0.0)
|
12
11
|
Requires-Dist: shapely (>=2.0.6,<3.0.0)
|
13
12
|
Description-Content-Type: text/markdown
|
@@ -0,0 +1,157 @@
|
|
1
|
+
ormlambda/__init__.py,sha256=0s-uDYwzCsRAdN1z_dfzi6rb-9EiR3wcbSgQNJHxlyE,772
|
2
|
+
ormlambda/caster/__init__.py,sha256=lXzW6TJwgtyFTaBhKBETyGIxEje005S3SPg7PXnYEVQ,137
|
3
|
+
ormlambda/caster/base_caster.py,sha256=c3vCGoKDyJ39kfUiS7sNKhKdjBRYSK1Ie88lwDIXqgE,1774
|
4
|
+
ormlambda/caster/caster.py,sha256=2iilDARnNGGh-NVJKXr7nhxjoaQOLJGk3RnGoSzHpOY,2453
|
5
|
+
ormlambda/caster/interfaces/ICaster.py,sha256=MCBBVBho9KH67vCcUk8nclY0a7QoqxgdyVJJR0-QDT0,759
|
6
|
+
ormlambda/caster/interfaces/__init__.py,sha256=TRoIxxgxuhUhCJq2ldLS3UEa1THrMXEIyTH5K46vyGw,43
|
7
|
+
ormlambda/common/__init__.py,sha256=g4yGxH4WEgvQ7Rix4lpp3FQ-3SeRhptNd5sabgZLQNk,59
|
8
|
+
ormlambda/common/abstract_classes/__init__.py,sha256=l39_WaBH38wrDV2KXb83c73ct7oxSIIVj2Ep4UcvxrU,186
|
9
|
+
ormlambda/common/abstract_classes/clause_info_converter.py,sha256=VdJKOfIJNjmMoeYFyqBb4tPSTswQJ-rIa5Ilj8vs5og,3086
|
10
|
+
ormlambda/common/abstract_classes/decomposition_query.py,sha256=_mANVU876xmZ1_Jf2IRLaOD3iOuEE9kurFDP9NalpgE,5506
|
11
|
+
ormlambda/common/abstract_classes/non_query_base.py,sha256=eLXAprXVjVk2sFF8X8EK0UKoOQpgxBlDRn8prLzjr30,1201
|
12
|
+
ormlambda/common/abstract_classes/query_base.py,sha256=KX1xQCfZ3kK13E1ipAFo91oXmBh0PyKRq4Xf59vsnG0,372
|
13
|
+
ormlambda/common/enums/__init__.py,sha256=4lVKCHi1JalwgNzjsAXqX-C54NJEH83y2v5baMO8fN4,103
|
14
|
+
ormlambda/common/enums/condition_types.py,sha256=QZnhhlTwzLcZ9kkmG6a08fQjUUJsJ5XGAH7QCiJRL1A,330
|
15
|
+
ormlambda/common/enums/join_type.py,sha256=EosZVnvAc72LlZHuICIgoKWwUJzhvWOIIAohcbDYPQo,354
|
16
|
+
ormlambda/common/errors/__init__.py,sha256=KLtFsctG5-LRu-mQ124FHeEqvE3K9fmf5hUt5HrBmR8,1995
|
17
|
+
ormlambda/common/global_checker.py,sha256=9FtdGl0SCSLEBBFBtburmP_Sh5h2tx88ZG08vjUordc,894
|
18
|
+
ormlambda/common/interfaces/ICustomAlias.py,sha256=GS-Riw_8yCr7N9DXSf5nZxkrwMH6eomNd-BdEhCA7fY,161
|
19
|
+
ormlambda/common/interfaces/IDecompositionQuery.py,sha256=2fwcXONBnYpxL1YHPHaLxqQJ4NANGuTky69QNa74xd4,853
|
20
|
+
ormlambda/common/interfaces/IJoinSelector.py,sha256=-w-MJmwq65tpDLtigWSLgvAqeOl75DA-EyWIugNkfCs,490
|
21
|
+
ormlambda/common/interfaces/INonQueryCommand.py,sha256=7CjLW4sKqkR5zUIGvhRXOtzTs6vypJW1a9EJHlgCw2c,260
|
22
|
+
ormlambda/common/interfaces/IQueryCommand.py,sha256=13vm_adVZ51BumMnNPHrqhzdC1pQVfZEVb6pkZgK-EU,475
|
23
|
+
ormlambda/common/interfaces/__init__.py,sha256=np5wuAnBVAHDyD01-X3M9qPmzbjOzP6KNAj9BFazGd4,300
|
24
|
+
ormlambda/databases/__init__.py,sha256=uMUnB19I5qlpjLkepLpNhk9L3--fijXmHNMledQWj5w,96
|
25
|
+
ormlambda/databases/my_sql/__init__.py,sha256=nDSgvRuifTJ8FXcgdOrEguYnv-VBFyCOKrQWr0RHCiY,158
|
26
|
+
ormlambda/databases/my_sql/caster/__init__.py,sha256=Df2sdZaAJ1Mi5Ego0sILMk5pF1NbK-nlV0hbpzd0PWE,47
|
27
|
+
ormlambda/databases/my_sql/caster/caster.py,sha256=h72gWNjwZ0z3nguMz1fDybN8qLhPm_vTYhZ0zUSdBPc,977
|
28
|
+
ormlambda/databases/my_sql/caster/types/__init__.py,sha256=m4YBCgQTugiUPiqIYrnEs5WUTAzQ2L9vSxVxAanHKIs,543
|
29
|
+
ormlambda/databases/my_sql/caster/types/boolean.py,sha256=EYOxnR7-XU30UYZbBbMH4pyynTw5CPU1G8V5xpCthg4,1100
|
30
|
+
ormlambda/databases/my_sql/caster/types/bytes.py,sha256=Mzl5oI2q6hGL9TFrTS-Ae1olQlAVtvNoxTSLUSBb5v8,1026
|
31
|
+
ormlambda/databases/my_sql/caster/types/date.py,sha256=8usP1Af7WUzEC8BHOBL16Zjg9j-ipMlb42p0UTFELmg,1176
|
32
|
+
ormlambda/databases/my_sql/caster/types/datetime.py,sha256=ISzcsbwijTa2wC9ZD8zy5piRm9BdnT9GxkMNf4FQYug,1189
|
33
|
+
ormlambda/databases/my_sql/caster/types/decimal.py,sha256=ycQnSqO-aFkrcsa8JKVPdnfjotNL_BUFeScYRcueOWM,1068
|
34
|
+
ormlambda/databases/my_sql/caster/types/float.py,sha256=EbU6J3yoL5_naLowfibkfUC9Bk9WzDaWks7lJ2pNhyA,1026
|
35
|
+
ormlambda/databases/my_sql/caster/types/int.py,sha256=a30xbe0LNj2BvbtLNZhUXFvT3WJ115MFsHC19Y3NLTk,1016
|
36
|
+
ormlambda/databases/my_sql/caster/types/iterable.py,sha256=nFPMOiaahzw_HWSdMZLRDQVim0aWUMoP-OLvp7vONC4,1029
|
37
|
+
ormlambda/databases/my_sql/caster/types/none.py,sha256=Bl4jpVVyoLG7ehoCAYj9lFBZbRWbyDN8QsQeWmIb84I,948
|
38
|
+
ormlambda/databases/my_sql/caster/types/point.py,sha256=GHAf51kE0AS7wOlCYM9YW-z2ZbmY8hXwcHs979ZCeaY,1442
|
39
|
+
ormlambda/databases/my_sql/caster/types/string.py,sha256=WFjTC5phuJ_-ShuokndFbqGuFgGZZx9GbpozH4rlB2g,1017
|
40
|
+
ormlambda/databases/my_sql/clauses/ST_AsText.py,sha256=YrBf-cbkyjI_335IaOZ1LC-vgh1y3PqVOcBTrKj95Hs,1278
|
41
|
+
ormlambda/databases/my_sql/clauses/ST_Contains.py,sha256=xzIWxJftryVoQCKUmV7TtGDkFAzUFhINXxLcWhuwac4,1189
|
42
|
+
ormlambda/databases/my_sql/clauses/__init__.py,sha256=GXl_sqgKLHaLQYqbsuKlaV7SwLZK8oF-MXd4zAIr2LU,555
|
43
|
+
ormlambda/databases/my_sql/clauses/count.py,sha256=sY2c5KlLT724DODLnJOjZZe14RdfoZvf1z3MjVVwAT4,1032
|
44
|
+
ormlambda/databases/my_sql/clauses/delete.py,sha256=v38-Mq32uE5LRXzD0gME5MFtw2QK5qwxacv_B69wLeE,336
|
45
|
+
ormlambda/databases/my_sql/clauses/drop_table.py,sha256=vPEE7N7z-N0vfVp0t-Qee1TBdZ9Fkvp_rvPP8LAcvdc,673
|
46
|
+
ormlambda/databases/my_sql/clauses/group_by.py,sha256=tYFIlcY5gTi1qcPrCtkbwSJeEZ7gF6DJ8puf6sdgyaE,402
|
47
|
+
ormlambda/databases/my_sql/clauses/having.py,sha256=GTgjS_KJ4umxB2wgt533cfFn8T0Dx7GvMgJL3cHXIAs,342
|
48
|
+
ormlambda/databases/my_sql/clauses/insert.py,sha256=RYQh8lgAl-Aua-xQneVmn310ouJSAU7F4EJJ5VxuyX4,294
|
49
|
+
ormlambda/databases/my_sql/clauses/joins.py,sha256=0GUd1YMPaZdboqGOPSM1sCFBKPO7DQOG5K5mzeTSeBw,448
|
50
|
+
ormlambda/databases/my_sql/clauses/limit.py,sha256=uIV54zFLlkthaxBFp-qKGfWkKooeWdrHvuRhVlj0qiw,127
|
51
|
+
ormlambda/databases/my_sql/clauses/offset.py,sha256=Fffxmya1B70cjjOTqk9RjoVZHnyFfgjBb8KdLPPL0MM,130
|
52
|
+
ormlambda/databases/my_sql/clauses/order.py,sha256=lD08cc9_jQSYKJppp_NQqMira9t1FXfmeGBYlPpCrUU,210
|
53
|
+
ormlambda/databases/my_sql/clauses/update.py,sha256=up0zRl8hhVbQHzkgiHaO3V6DlbU0ystTue-xmE3WV7o,234
|
54
|
+
ormlambda/databases/my_sql/clauses/upsert.py,sha256=xEvdGdQVUu6so_CQKdqLMwIo_B-gm3dGRD2bWsV8N6s,238
|
55
|
+
ormlambda/databases/my_sql/clauses/where.py,sha256=JCqKfMCt_tiUXtLa-DW0y6_IyNqIxLC6-iju_94oeBA,242
|
56
|
+
ormlambda/databases/my_sql/pool_types.py,sha256=6c7LMS1VGR8ko1LB1T8DQzn1l10Mzk8PfIeYEOb9w30,1839
|
57
|
+
ormlambda/databases/my_sql/repository.py,sha256=rmJXu49Absd_ULACxxM-B79TAqwRLdpV4VC0zF_Hw2Q,7203
|
58
|
+
ormlambda/dialects/__init__.py,sha256=srorTnQfbyn7meJej4rJPR5xwnxwlbhPXl6jJ8ocUIA,865
|
59
|
+
ormlambda/dialects/default/__init__.py,sha256=N1B0LKEDu7r2-mTF9mBA4ReyhYeDuJDnbQCiH4hJvFQ,33
|
60
|
+
ormlambda/dialects/default/base.py,sha256=rmK-nV5luN2lphSgisM8TBy3s4JXVgvZa79ATHeVOuU,1088
|
61
|
+
ormlambda/dialects/interface/__init__.py,sha256=IbB5o6ae7XNVVfNt4uqZRZcVK9HHG6eLLK_E0J99kwY,43
|
62
|
+
ormlambda/dialects/interface/dialect.py,sha256=z47GXCi-uJ6Oq7Zm64OHM0q61T3xWCss-uGdcuuXng0,2810
|
63
|
+
ormlambda/dialects/mysql/__init__.py,sha256=y4gh32agzxxpjuC6x3oKEuCJYBwMYYuvJ-xxBS1rbv4,152
|
64
|
+
ormlambda/dialects/mysql/base.py,sha256=ocDJprw5PFhZ9vsrrUJdBoqjwRwa3V163wK1p7j-gpc,11688
|
65
|
+
ormlambda/dialects/mysql/mysqlconnector.py,sha256=DOjK7U7LOhjuVQJULzAV8xaRGX0OlBU8APUeRiTcbDY,1378
|
66
|
+
ormlambda/dialects/mysql/types.py,sha256=lOhdi442saxQJlQ_jgChBETE0fFMGTQLWN0a76R4fkc,23453
|
67
|
+
ormlambda/dialects/sqlite/__init__.py,sha256=2EMmxD7ORtGoD18GJ_9aC_tPutAq9ormMZJmaJ5nkYA,103
|
68
|
+
ormlambda/dialects/sqlite/base.py,sha256=24LSB461yQDEnXa-TsQt_srJmBCAR6M6419pa40CL_4,1503
|
69
|
+
ormlambda/dialects/sqlite/pysqlite.py,sha256=dZY0NV2IvSTk3DNEDyncstmIABKj3M2xfmhf2dc2zQs,680
|
70
|
+
ormlambda/engine/__init__.py,sha256=JpCLfuW1zcJi4ki97ajXh0aQxMSvWBKzDlBZx9ZVF9o,132
|
71
|
+
ormlambda/engine/base.py,sha256=i_q9-na1oPPrkAcQHBp3RvmaplueZlkPPaUM9_kuDWM,1985
|
72
|
+
ormlambda/engine/create.py,sha256=caDYXX4BP5uODSrdJXRZvWWjbliDgH1TiSvhtHP3RNY,533
|
73
|
+
ormlambda/engine/url.py,sha256=ZzdgZU_Cnjhonbbr5OfBvq_ThUPnDj9v-3-7O54ENm0,26137
|
74
|
+
ormlambda/engine/utils.py,sha256=fFoiKsiFuLcjcBVYNebVoYnMrEj3aZdoxEVSNfCY-GM,522
|
75
|
+
ormlambda/env.py,sha256=rCZKT2rpvRF3hPtkLmtiaVAIxQ0xj8tF7ZKJpFp7BkA,736
|
76
|
+
ormlambda/errors.py,sha256=ddv_848pl53seKJoXe3mElmatQiwEScwfGkCXU1XZkM,504
|
77
|
+
ormlambda/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
|
+
ormlambda/model/base_model.py,sha256=kgobamJ4GHmDEU-g2YTVIPTXPJFnNK3rsQOm2rXq4kU,903
|
79
|
+
ormlambda/repository/__init__.py,sha256=4KAhKn6vWV7bslewvGMNqbbbUnz1DLnH4yy-M5QNAQA,112
|
80
|
+
ormlambda/repository/base_repository.py,sha256=CzHU-yUCycMqTp8RFI0mj2hS2RgC9INu3X20HsgyEKA,1270
|
81
|
+
ormlambda/repository/interfaces/IDatabaseConnection.py,sha256=pxczjx0b53yjjg5hvVDloMgUTFDahVC3HlJLQjo9_1w,283
|
82
|
+
ormlambda/repository/interfaces/IRepositoryBase.py,sha256=_a1p3wZxF1rDabCcr6a44bGjHyxLvyGgmUO1c6vdv-U,3689
|
83
|
+
ormlambda/repository/interfaces/__init__.py,sha256=t8Mn0aRZm8uF4MGaqjEANTTADCdOwNF0THZ_qebyzwo,126
|
84
|
+
ormlambda/repository/response.py,sha256=TBmWUGGoZChjXVhZXU3F84eUUA1rf7VPeNi92Ae8-2I,4506
|
85
|
+
ormlambda/sql/__init__.py,sha256=0CWQzfxhTRWXozoRsg460o_ZwjW9w4uyL5jQUcD4eHg,121
|
86
|
+
ormlambda/sql/clause_info/__init__.py,sha256=wOr8M0ZW7fJ-OGHok9eExh7fVP6kiwqGckEsKdE0U7A,255
|
87
|
+
ormlambda/sql/clause_info/aggregate_function_base.py,sha256=FCTrXhDvO_XDVBXZK5AiUHonDENHT_MFxW6kn2_--6E,3541
|
88
|
+
ormlambda/sql/clause_info/clause_info.py,sha256=ypiBjvuij4iKdMAkTPy7jlCa7hZIEi11agsaVCoHtKM,12674
|
89
|
+
ormlambda/sql/clause_info/clause_info_context.py,sha256=Y32p3x4mqcdNHbAowrKaN_ldnGn7zvaP1UdAkWWryhM,2852
|
90
|
+
ormlambda/sql/clause_info/interface/IAggregate.py,sha256=P-QPaTMAMHVR5M9-ClmL8wsj0uNGG5xpxjuAwWnzKxA,216
|
91
|
+
ormlambda/sql/clause_info/interface/IClauseInfo.py,sha256=Gnr6vArgimCt0oJqW-_q2_5jMi8EDBW1wZ8rEF2uzTk,921
|
92
|
+
ormlambda/sql/clause_info/interface/__init__.py,sha256=bTNYVMPuJebEvQpPa5LBQaAesGnfljQ8BKsj1UxN09k,100
|
93
|
+
ormlambda/sql/clauses/__init__.py,sha256=9bkgw3jbd2HdB-WGQtpyHLr0K-SbCZcBU7KmHur7k1c,572
|
94
|
+
ormlambda/sql/clauses/alias.py,sha256=W58fwVYq7GS_xuPCQNIlAu_cDQZuD1AzHmr8-SdxTIg,1301
|
95
|
+
ormlambda/sql/clauses/count.py,sha256=I2-VFseieTw6tZlBy8jTJGbnW33OtgRwW0rFOumXLfs,1665
|
96
|
+
ormlambda/sql/clauses/delete.py,sha256=tTSCcSD_F-z9rl4HwfJOeb_M_XJlg-LkyU3f6vVQNTc,2289
|
97
|
+
ormlambda/sql/clauses/group_by.py,sha256=VC-XZ1Kk7cgnJjuu9Cu0dH1pUPBe60z_9hSiBL65puI,829
|
98
|
+
ormlambda/sql/clauses/having.py,sha256=14ojNXefgsc_T70ZraONsKTBQCge1TD-Q5nMigo8GWk,466
|
99
|
+
ormlambda/sql/clauses/insert.py,sha256=0Fsv41g--fC3VX3GHehlu5MoSqQ0MHAkeGs2xCM8vzU,3805
|
100
|
+
ormlambda/sql/clauses/interfaces/IDelete.py,sha256=06ZEdbKBxsHSwsGMBu0E1om4WJjojZAm-L3b95eQrcc,139
|
101
|
+
ormlambda/sql/clauses/interfaces/IInsert.py,sha256=YIfMPlKu7UGgnVpZuhpr0Mtnefe-O85hqk8-GZrVK7w,139
|
102
|
+
ormlambda/sql/clauses/interfaces/ISelect.py,sha256=saA0Iat4lXfd1vc7a7t6Stc_3BJHAysGWH1AcmrhQhw,372
|
103
|
+
ormlambda/sql/clauses/interfaces/IUpdate.py,sha256=U-3Wx8lyCglhxf9gCXWO3MVgydG6gfRpzp00_MHC5cU,168
|
104
|
+
ormlambda/sql/clauses/interfaces/IUpsert.py,sha256=2m6Bcwa0X80IDLnf0QErqr01uYEydOnRta9_T1nxjK4,139
|
105
|
+
ormlambda/sql/clauses/interfaces/__init__.py,sha256=JMWEyVwPEvx3NUgMOstCKLV5HemboHdF4KLwFeUEWwM,215
|
106
|
+
ormlambda/sql/clauses/join/__init__.py,sha256=7hwAB-nKaMirTT6uNZ1JtYNkkIx5zMSa6jaqr28d8Cg,67
|
107
|
+
ormlambda/sql/clauses/join/join_context.py,sha256=69R_X_RoWO2kXPgJ94Wck6s-sJjTIqFXpOifmLsYC9c,3497
|
108
|
+
ormlambda/sql/clauses/joins.py,sha256=w0c_uHNe3BNqL9-rAdQaAFeM6ExJXTNENG_sO7I2HWI,5505
|
109
|
+
ormlambda/sql/clauses/limit.py,sha256=NX9qUp_8Zd-0myZ80PhD2tbF72N5jsx_SaYakf7lNbU,345
|
110
|
+
ormlambda/sql/clauses/offset.py,sha256=FibzDho7Bc1UQchrPHjOakW_0BfZVupbuI62lHoha94,350
|
111
|
+
ormlambda/sql/clauses/order.py,sha256=qOcz2T0NQNY0H7vt-jbvBRjTy3X5Lw-kGSuISTGfAPA,1609
|
112
|
+
ormlambda/sql/clauses/select.py,sha256=gJfTqTCi32Knyp-rox_qo-JeoVYr6YWTEPl9FF8FsFg,1670
|
113
|
+
ormlambda/sql/clauses/update.py,sha256=s4Vl_CmZzUYvdP2ThrTDz2ps_nU3_uwROQNICD06qsw,3319
|
114
|
+
ormlambda/sql/clauses/upsert.py,sha256=1MlHSzIVXSnCnXx_0HqX_-JT1FAxaIKHImrv-OKjnWU,2250
|
115
|
+
ormlambda/sql/clauses/where.py,sha256=Db1IpXnbqAwzZpaThFDSxkrCNLsop__aJ43cDtcZ2Sk,2129
|
116
|
+
ormlambda/sql/column/__init__.py,sha256=MwBJznOoeNE7tK9oppVtC3784XPkKo0yq9VLlh2lWUY,41
|
117
|
+
ormlambda/sql/column/column.py,sha256=onneRMZJJd85sFkJZhgfcLTCChC-vHPcS7oukt-eSUY,7380
|
118
|
+
ormlambda/sql/comparer.py,sha256=_KQ6gYe0eUg5aOL1i70mV8a1Qa1jI5UQr-0VfAMgVzk,5482
|
119
|
+
ormlambda/sql/compiler.py,sha256=dSmF8RYQECPweKZI_TB9stDkLXTJy9FYvAQMNSCY8AY,12967
|
120
|
+
ormlambda/sql/ddl.py,sha256=WhVoG_zlTT9DVZlnokHB8B1SC4ZXQSrXTQJ6vlnlpEY,1644
|
121
|
+
ormlambda/sql/elements.py,sha256=ABWQQZn-3CnRLhxxMJYezCRqzt86b5KgZO6Qo55ReWQ,925
|
122
|
+
ormlambda/sql/foreign_key.py,sha256=a3lLwuIZDo6XIWgEAW7AsmHE2BrF9fa3vMpK_Cq0T_s,5587
|
123
|
+
ormlambda/sql/functions/__init__.py,sha256=hA8t3mUpV2p-pO4TVp5rjC5Yp7aIkWPsS8NpLi3DUh0,171
|
124
|
+
ormlambda/sql/functions/concat.py,sha256=B3uh6SsNjK57jEYvyUW4YVpWGlByeapddDozCF7TYX4,1598
|
125
|
+
ormlambda/sql/functions/max.py,sha256=wXNhFmOlMyD1sKcaBO9asQeXcfY0OvMQPkrlARVXgdg,1651
|
126
|
+
ormlambda/sql/functions/min.py,sha256=MTRGXgwzbLgKk9PJpn6JGK1TU91hZe_VsTszngLOh7Q,1570
|
127
|
+
ormlambda/sql/functions/sum.py,sha256=_TN8SitDDBVD6VlsHZH3RpmiE5hkFrGGgC3tuEctKjk,1614
|
128
|
+
ormlambda/sql/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
129
|
+
ormlambda/sql/sqltypes.py,sha256=-YyzA-gPTnARoK29bMS6R3GCNvD4LTKvGH1Ev6YfUEY,14207
|
130
|
+
ormlambda/sql/table/__init__.py,sha256=LLZcMLjwFxgBCPhdm5UQYYZDIbtYWCKPO9CbcXsy5zI,50
|
131
|
+
ormlambda/sql/table/fields.py,sha256=ovNR3bJ473aKW-2NhbKr0iJlVpgW06jurHLob2IyZU8,2116
|
132
|
+
ormlambda/sql/table/table.py,sha256=U8ByMDEEXIOwfPykDcjzoyNV1WEieN40Zk18EXveX60,6594
|
133
|
+
ormlambda/sql/table/table_constructor.py,sha256=c3Z-1El0onSClYBmAatoUBYUOT70tITVqtsDJMxZ9QU,1092
|
134
|
+
ormlambda/sql/type_api.py,sha256=FdEUBpdPbHIag--OU3mHY8vxMqyyzTMYygDBCUvGlcU,980
|
135
|
+
ormlambda/sql/types.py,sha256=lQxC5gbhDPRckGSRJZ4rYSZr-XUvIMMH8WfkN1wtM1g,844
|
136
|
+
ormlambda/sql/visitors.py,sha256=FJdnaiF86xK699Kq1qfHFSPtmeVsDX_PaUNHAoP8Tck,1967
|
137
|
+
ormlambda/statements/__init__.py,sha256=kmd5K0dXiLQ2xTYlhd2yXeG2l955RtpDkrAIkZlfad8,148
|
138
|
+
ormlambda/statements/base_statement.py,sha256=Dw89C2-eSwtuNc8UqzQMkoVuykf0gIWyA81YoXu6CQQ,4985
|
139
|
+
ormlambda/statements/interfaces/IStatements.py,sha256=b2eQBeEoRivehhopmm-gca6qRSZ3ld06YMEHQEVP1d8,12824
|
140
|
+
ormlambda/statements/interfaces/__init__.py,sha256=a3RyTNVA7DwWMqvVi7gFYP4MArdU-RUYixJcxfc79HY,76
|
141
|
+
ormlambda/statements/query_builder.py,sha256=xb_idOh7sZJweBMPwG7Ow1Sl6toNkEBWPEzUcr1XdjU,5851
|
142
|
+
ormlambda/statements/statements.py,sha256=ZgZdrwXwj4QBpY_ogTy4S-8i3uH42LHEuGOMcInBR1c,12555
|
143
|
+
ormlambda/statements/types.py,sha256=wNxgXOlL8zBT9PtVgDSnEZFmZdNAJhSzxsR9QLMzO0A,1873
|
144
|
+
ormlambda/types/__init__.py,sha256=xVFaIMcfJvbbXs8BAvmBh8FwSiLn2R6yjZs9o-h08XM,323
|
145
|
+
ormlambda/types/metadata.py,sha256=93eJItdVDOItf7YRJUVmN_m79WLa3Ge6I414ewYnKeM,624
|
146
|
+
ormlambda/util/__init__.py,sha256=DZWwtrD8tNJxJcK7vdAuTdZeDJC6jBtqIDPv-i8GJFY,2910
|
147
|
+
ormlambda/util/load_module.py,sha256=W9NeCuwditS0UuQU0TlVHA65E74NYggEEfdWy1ap9ZI,648
|
148
|
+
ormlambda/util/module_tree/__init__.py,sha256=LNQtqkwO1ul49Th3aHAIiyt0Wt899GmXCc44Uz1eDyY,53
|
149
|
+
ormlambda/util/module_tree/dfs_traversal.py,sha256=lSF03G63XtJFLp03ueAmsHMBvhUkjptDbK3IugXm8iU,1425
|
150
|
+
ormlambda/util/module_tree/dynamic_module.py,sha256=vJOqvm5-WKksudXBK1IcTn4WsuLxt1qXNISq-_21sy4,8705
|
151
|
+
ormlambda/util/plugin_loader.py,sha256=p6WLn-MF1bQd2i2GHy98WQjNKmbQdqIUyTFIcBIHC5M,1034
|
152
|
+
ormlambda/util/typing.py,sha256=Z7irz53ui0hoFnJTe06NX4JPl60_thgdjJIxh5gjGGk,169
|
153
|
+
ormlambda-3.34.1.dist-info/AUTHORS,sha256=uWpOHaCPTOLbVkk5x9McoLwbgzSeCg7yILeDRyMGWGM,606
|
154
|
+
ormlambda-3.34.1.dist-info/LICENSE,sha256=xBprFw8GJLdHMOoUqDk0427EvjIcbEREvXXVFULuuXU,1080
|
155
|
+
ormlambda-3.34.1.dist-info/METADATA,sha256=q1FalyMLHthaHwhaCbL2lzNdIq6pkyZdvoVQSeb-Tas,13326
|
156
|
+
ormlambda-3.34.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
157
|
+
ormlambda-3.34.1.dist-info/RECORD,,
|
ormlambda/components/__init__.py
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
from abc import abstractmethod
|
3
|
-
from typing import TYPE_CHECKING
|
4
|
-
|
5
|
-
if TYPE_CHECKING:
|
6
|
-
from ormlambda import Table, BaseRepository
|
7
|
-
from ormlambda.common.abstract_classes import NonQueryBase
|
8
|
-
|
9
|
-
from .IDelete import IDelete
|
10
|
-
|
11
|
-
|
12
|
-
class DeleteQueryBase[T: Table, TRepo: BaseRepository](NonQueryBase[T, TRepo], IDelete[T]):
|
13
|
-
def __init__(self, model: T, repository: TRepo) -> None:
|
14
|
-
super().__init__(model, repository)
|
15
|
-
|
16
|
-
@abstractmethod
|
17
|
-
def delete(self, instances: T | list[T]) -> None: ...
|
@@ -1,25 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
from abc import abstractmethod
|
3
|
-
from typing import TYPE_CHECKING
|
4
|
-
|
5
|
-
if TYPE_CHECKING:
|
6
|
-
from ormlambda import Table
|
7
|
-
from ormlambda.repository import IRepositoryBase
|
8
|
-
|
9
|
-
from ormlambda.common.abstract_classes import NonQueryBase
|
10
|
-
from .IInsert import IInsert
|
11
|
-
|
12
|
-
|
13
|
-
class InsertQueryBase[T: Table, TRepo: IRepositoryBase](NonQueryBase[T, TRepo], IInsert[T]):
|
14
|
-
def __init__(self, model: T, repository: TRepo) -> None:
|
15
|
-
super().__init__(model, repository)
|
16
|
-
|
17
|
-
@abstractmethod
|
18
|
-
def insert(self, instances: T | list[T]) -> None: ...
|
19
|
-
|
20
|
-
@property
|
21
|
-
@abstractmethod
|
22
|
-
def CLAUSE(self) -> str: ...
|
23
|
-
|
24
|
-
@abstractmethod
|
25
|
-
def execute(self) -> None: ...
|
@@ -1 +0,0 @@
|
|
1
|
-
from .ISelect import ISelect # noqa: F401
|
@@ -1,29 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
from abc import abstractmethod
|
3
|
-
from typing import Any, Optional, TYPE_CHECKING
|
4
|
-
|
5
|
-
from ormlambda.common.abstract_classes import NonQueryBase
|
6
|
-
from ormlambda.databases.my_sql.clauses.where import Where
|
7
|
-
|
8
|
-
if TYPE_CHECKING:
|
9
|
-
from ormlambda.repository import IRepositoryBase
|
10
|
-
from ormlambda import Table
|
11
|
-
|
12
|
-
from .IUpdate import IUpdate
|
13
|
-
|
14
|
-
|
15
|
-
class UpdateQueryBase[T: Table, TRepo: IRepositoryBase](NonQueryBase[T, TRepo], IUpdate):
|
16
|
-
def __init__(self, model: T, repository: TRepo, where: list[Where] = list[Where]) -> None:
|
17
|
-
super().__init__(model, repository)
|
18
|
-
self._where: Optional[list[Where]] = where
|
19
|
-
|
20
|
-
@abstractmethod
|
21
|
-
def update(self, dicc: dict[str | property, Any]) -> None:
|
22
|
-
return super().update(dicc)
|
23
|
-
|
24
|
-
@property
|
25
|
-
@abstractmethod
|
26
|
-
def CLAUSE(self) -> str: ...
|
27
|
-
|
28
|
-
@abstractmethod
|
29
|
-
def execute(self) -> None: ...
|
@@ -1,25 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
from abc import abstractmethod
|
3
|
-
from typing import TYPE_CHECKING
|
4
|
-
|
5
|
-
if TYPE_CHECKING:
|
6
|
-
from ormlambda.repository import IRepositoryBase
|
7
|
-
from ormlambda import Table
|
8
|
-
|
9
|
-
from ormlambda.common.abstract_classes import NonQueryBase
|
10
|
-
from .IUpsert import IUpsert
|
11
|
-
|
12
|
-
|
13
|
-
class UpsertQueryBase[T: Table, TRepo: IRepositoryBase](NonQueryBase[T, TRepo], IUpsert[T]):
|
14
|
-
def __init__(self, model: T, repository: TRepo) -> None:
|
15
|
-
super().__init__(model, repository)
|
16
|
-
|
17
|
-
@abstractmethod
|
18
|
-
def upsert(self, instances: T | list[T]) -> None: ...
|
19
|
-
|
20
|
-
@property
|
21
|
-
@abstractmethod
|
22
|
-
def CLAUSE(self) -> str: ...
|
23
|
-
|
24
|
-
@abstractmethod
|
25
|
-
def execute(self) -> None: ...
|
@@ -1,35 +0,0 @@
|
|
1
|
-
from typing import Literal, override
|
2
|
-
from mysql.connector import errorcode, errors
|
3
|
-
|
4
|
-
from ormlambda.repository import BaseRepository
|
5
|
-
|
6
|
-
TypeExists = Literal["fail", "replace", "append"]
|
7
|
-
|
8
|
-
|
9
|
-
class CreateDatabase:
|
10
|
-
def __init__(self, repository: BaseRepository) -> None:
|
11
|
-
self._repository: BaseRepository = repository
|
12
|
-
|
13
|
-
@override
|
14
|
-
@property
|
15
|
-
def CLAUSE(self) -> str:
|
16
|
-
return "CREATE DATABASE"
|
17
|
-
|
18
|
-
@override
|
19
|
-
def execute(self, name: str, if_exists: TypeExists = "fail") -> None:
|
20
|
-
if self._repository.database_exists(name):
|
21
|
-
if if_exists == "replace":
|
22
|
-
self._repository.drop_database(name)
|
23
|
-
elif if_exists == "fail":
|
24
|
-
raise errors.DatabaseError(msg=f"Database '{name}' already exists", errno=errorcode.ER_DB_CREATE_EXISTS)
|
25
|
-
elif if_exists == "append":
|
26
|
-
counter: int = 0
|
27
|
-
char: str = ""
|
28
|
-
while self._repository.database_exists(name + char):
|
29
|
-
counter += 1
|
30
|
-
char = f"_{counter}"
|
31
|
-
name += char
|
32
|
-
|
33
|
-
query = f"{self.CLAUSE} {name} DEFAULT CHARACTER SET 'utf8'"
|
34
|
-
self._repository.execute(query)
|
35
|
-
return None
|
@@ -1,17 +0,0 @@
|
|
1
|
-
from typing import override
|
2
|
-
|
3
|
-
from ormlambda.repository import IRepositoryBase
|
4
|
-
|
5
|
-
|
6
|
-
class DropDatabase:
|
7
|
-
def __init__(self, repository: IRepositoryBase) -> None:
|
8
|
-
self._repository: IRepositoryBase = repository
|
9
|
-
|
10
|
-
@override
|
11
|
-
def execute(self, name: str) -> None:
|
12
|
-
return self._repository.execute(f"{self.CLAUSE} {name}")
|
13
|
-
|
14
|
-
@override
|
15
|
-
@property
|
16
|
-
def CLAUSE(self) -> str:
|
17
|
-
return "DROP DATABASE IF EXISTS"
|
@@ -1 +0,0 @@
|
|
1
|
-
from .repository import MySQLRepository # noqa: F401
|