lesscode-database 0.0.11__tar.gz → 0.0.12__tar.gz

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.

Potentially problematic release.


This version of lesscode-database might be problematic. Click here for more details.

Files changed (37) hide show
  1. lesscode_database-0.0.12/.gitee/ISSUE_TEMPLATE.zh-CN.md +13 -0
  2. lesscode_database-0.0.12/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md +53 -0
  3. lesscode_database-0.0.12/.gitignore +138 -0
  4. lesscode_database-0.0.12/.idea/.gitignore +8 -0
  5. lesscode_database-0.0.12/.idea/inspectionProfiles/profiles_settings.xml +6 -0
  6. lesscode_database-0.0.12/.idea/lesscode_database.iml +10 -0
  7. lesscode_database-0.0.12/.idea/misc.xml +7 -0
  8. lesscode_database-0.0.12/.idea/modules.xml +8 -0
  9. lesscode_database-0.0.12/.idea/vcs.xml +6 -0
  10. lesscode_database-0.0.12/.idea/workspace.xml +330 -0
  11. lesscode_database-0.0.12/LICENSE +5 -0
  12. {lesscode_database-0.0.11/lesscode_database.egg-info → lesscode_database-0.0.12}/PKG-INFO +11 -7
  13. lesscode_database-0.0.11/PKG-INFO → lesscode_database-0.0.12/README.en.md +1 -24
  14. lesscode_database-0.0.12/demo.py +339 -0
  15. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/connect_pool.py +1 -1
  16. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/ds_helper.py +84 -0
  17. lesscode_database-0.0.12/lesscode_database/orm/__init__.py +0 -0
  18. lesscode_database-0.0.12/lesscode_database/orm/orm_exec.py +299 -0
  19. lesscode_database-0.0.12/lesscode_database/orm/orm_func.py +45 -0
  20. lesscode_database-0.0.12/lesscode_database/orm/orm_model.py +21 -0
  21. lesscode_database-0.0.12/lesscode_database/orm/orm_typing.py +412 -0
  22. lesscode_database-0.0.12/pyproject.toml +25 -0
  23. lesscode_database-0.0.12/uv.lock +7 -0
  24. lesscode_database-0.0.11/LICENSE +0 -201
  25. lesscode_database-0.0.11/lesscode_database/version.py +0 -1
  26. lesscode_database-0.0.11/lesscode_database.egg-info/SOURCES.txt +0 -16
  27. lesscode_database-0.0.11/lesscode_database.egg-info/dependency_links.txt +0 -1
  28. lesscode_database-0.0.11/lesscode_database.egg-info/top_level.txt +0 -1
  29. lesscode_database-0.0.11/setup.cfg +0 -4
  30. lesscode_database-0.0.11/setup.py +0 -47
  31. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/README.md +0 -0
  32. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/__init__.py +0 -0
  33. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/connection_info.py +0 -0
  34. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/db_options.py +0 -0
  35. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/db_request.py +0 -0
  36. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/dynamic_import_package.py +0 -0
  37. {lesscode_database-0.0.11 → lesscode_database-0.0.12}/lesscode_database/mongo_base_model.py +0 -0
@@ -0,0 +1,13 @@
1
+ ### 该问题是怎么引起的?
2
+
3
+
4
+
5
+ ### 重现步骤
6
+
7
+
8
+
9
+ ### 报错信息
10
+
11
+
12
+
13
+
@@ -0,0 +1,53 @@
1
+ ### 一、内容说明(相关的Issue)
2
+
3
+
4
+
5
+ ### 二、建议测试周期和提测地址
6
+ 建议测试完成时间:xxxx.xx.xx
7
+ 投产上线时间:xxxx.xx.xx
8
+ 提测地址:CI环境/压测环境
9
+ 测试账号:
10
+
11
+ ### 三、变更内容
12
+ * 3.1 关联PR列表
13
+
14
+ * 3.2 数据库和部署说明
15
+ 1. 常规更新
16
+ 2. 重启unicorn
17
+ 3. 重启sidekiq
18
+ 4. 迁移任务:是否有迁移任务,没有写 "无"
19
+ 5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"
20
+
21
+ * 3.4 其他技术优化内容(做了什么,变更了什么)
22
+ - 重构了 xxxx 代码
23
+ - xxxx 算法优化
24
+
25
+
26
+ * 3.5 废弃通知(什么字段、方法弃用?)
27
+
28
+
29
+
30
+ * 3.6 后向不兼容变更(是否有无法向后兼容的变更?)
31
+
32
+
33
+
34
+ ### 四、研发自测点(自测哪些?冒烟用例全部自测?)
35
+ 自测测试结论:
36
+
37
+
38
+ ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
39
+ 检查点:
40
+
41
+ | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
42
+ |------|------------|----------|---------------|
43
+ | xxx | 否 | 需要 | 不需要 |
44
+ | | | | |
45
+
46
+ 接口测试:
47
+
48
+ 性能测试:
49
+
50
+ 并发测试:
51
+
52
+ 其他:
53
+
@@ -0,0 +1,138 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
98
+ __pypackages__/
99
+
100
+ # Celery stuff
101
+ celerybeat-schedule
102
+ celerybeat.pid
103
+
104
+ # SageMath parsed files
105
+ *.sage.py
106
+
107
+ # Environments
108
+ .env
109
+ .venv
110
+ env/
111
+ venv/
112
+ ENV/
113
+ env.bak/
114
+ venv.bak/
115
+
116
+ # Spyder project settings
117
+ .spyderproject
118
+ .spyproject
119
+
120
+ # Rope project settings
121
+ .ropeproject
122
+
123
+ # mkdocs documentation
124
+ /site
125
+
126
+ # mypy
127
+ .mypy_cache/
128
+ .dmypy.json
129
+ dmypy.json
130
+
131
+ # Pyre type checker
132
+ .pyre/
133
+
134
+ # pytype static type analyzer
135
+ .pytype/
136
+
137
+ # Cython debug symbols
138
+ cython_debug/
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <settings>
3
+ <option name="USE_PROJECT_PROFILE" value="false" />
4
+ <version value="1.0" />
5
+ </settings>
6
+ </component>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/.venv" />
6
+ </content>
7
+ <orderEntry type="jdk" jdkName="uv (lesscode_database)" jdkType="Python SDK" />
8
+ <orderEntry type="sourceFolder" forTests="false" />
9
+ </component>
10
+ </module>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Black">
4
+ <option name="sdkName" value="Python 3.7" />
5
+ </component>
6
+ <component name="ProjectRootManager" version="2" project-jdk-name="uv (lesscode_database)" project-jdk-type="Python SDK" />
7
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/lesscode_database.iml" filepath="$PROJECT_DIR$/.idea/lesscode_database.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,330 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
6
+ <component name="ChangeListManager">
7
+ <list default="true" id="5ce6a727-6187-4970-b4b5-e0571f06d609" name="Changes" comment="feat(database): 增加对 MySQL 数据库的增删查改功能&#10;&#10;- 在 DsHelper 类中添加 exec_ 和 async_exec_ 方法,用于执行不同类型的 SQL 查询&#10;- 在 OrmExec 类中实现 all、first、update、delete 和 insert 方法,支持 ORM 方式的数据库操作&#10;- 优化数据库连接池配置,增加 DictCursor 支持">
8
+ <change beforePath="$PROJECT_DIR$/LICENSE" beforeDir="false" afterPath="$PROJECT_DIR$/LICENSE" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/lesscode_database/version.py" beforeDir="false" />
10
+ <change beforePath="$PROJECT_DIR$/setup.py" beforeDir="false" />
11
+ </list>
12
+ <option name="SHOW_DIALOG" value="false" />
13
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
14
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
15
+ <option name="LAST_RESOLUTION" value="IGNORE" />
16
+ </component>
17
+ <component name="FileTemplateManagerImpl">
18
+ <option name="RECENT_TEMPLATES">
19
+ <list>
20
+ <option value="Python Script" />
21
+ </list>
22
+ </option>
23
+ </component>
24
+ <component name="Git.Settings">
25
+ <option name="RECENT_BRANCH_BY_REPOSITORY">
26
+ <map>
27
+ <entry key="$PROJECT_DIR$" value="master" />
28
+ </map>
29
+ </option>
30
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
31
+ </component>
32
+ <component name="HighlightingSettingsPerFile">
33
+ <setting file="file://$USER_HOME$/.pyenv/versions/3.7.17/lib/python3.7/typing.py" root0="SKIP_INSPECTION" />
34
+ </component>
35
+ <component name="ProjectColorInfo">{
36
+ &quot;associatedIndex&quot;: 2
37
+ }</component>
38
+ <component name="ProjectId" id="2mPsXUrYvyJMeLT2lYDQoYZ9bwu" />
39
+ <component name="ProjectViewState">
40
+ <option name="hideEmptyMiddlePackages" value="true" />
41
+ <option name="showLibraryContents" value="true" />
42
+ </component>
43
+ <component name="PropertiesComponent">{
44
+ &quot;keyToString&quot;: {
45
+ &quot;Python.orm_exec.executor&quot;: &quot;Run&quot;,
46
+ &quot;Python.orm_typing.executor&quot;: &quot;Run&quot;,
47
+ &quot;Python.t.executor&quot;: &quot;Run&quot;,
48
+ &quot;Python.typing.executor&quot;: &quot;Run&quot;,
49
+ &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
50
+ &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
51
+ &quot;git-widget-placeholder&quot;: &quot;feature&quot;,
52
+ &quot;junie.onboarding.icon.badge.shown&quot;: &quot;true&quot;,
53
+ &quot;last_opened_file_path&quot;: &quot;/home/navy/Desktop/other&quot;,
54
+ &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
55
+ &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
56
+ &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
57
+ &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
58
+ &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
59
+ &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
60
+ }
61
+ }</component>
62
+ <component name="RecentsManager">
63
+ <key name="MoveFile.RECENT_KEYS">
64
+ <recent name="$PROJECT_DIR$/lesscode_database/orm" />
65
+ </key>
66
+ </component>
67
+ <component name="RunManager" selected="Python.orm_exec">
68
+ <configuration name="orm_exec" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
69
+ <module name="lesscode_database" />
70
+ <option name="ENV_FILES" value="" />
71
+ <option name="INTERPRETER_OPTIONS" value="" />
72
+ <option name="PARENT_ENVS" value="true" />
73
+ <envs>
74
+ <env name="PYTHONUNBUFFERED" value="1" />
75
+ </envs>
76
+ <option name="SDK_HOME" value="" />
77
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/lesscode_database/orm" />
78
+ <option name="IS_MODULE_SDK" value="true" />
79
+ <option name="ADD_CONTENT_ROOTS" value="true" />
80
+ <option name="ADD_SOURCE_ROOTS" value="true" />
81
+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
82
+ <option name="SCRIPT_NAME" value="$PROJECT_DIR$/lesscode_database/orm/orm_exec.py" />
83
+ <option name="PARAMETERS" value="" />
84
+ <option name="SHOW_COMMAND_LINE" value="false" />
85
+ <option name="EMULATE_TERMINAL" value="false" />
86
+ <option name="MODULE_MODE" value="false" />
87
+ <option name="REDIRECT_INPUT" value="false" />
88
+ <option name="INPUT_FILE" value="" />
89
+ <method v="2" />
90
+ </configuration>
91
+ <configuration name="orm_typing" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
92
+ <module name="lesscode_database" />
93
+ <option name="ENV_FILES" value="" />
94
+ <option name="INTERPRETER_OPTIONS" value="" />
95
+ <option name="PARENT_ENVS" value="true" />
96
+ <envs>
97
+ <env name="PYTHONUNBUFFERED" value="1" />
98
+ </envs>
99
+ <option name="SDK_HOME" value="" />
100
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/lesscode_database/orm" />
101
+ <option name="IS_MODULE_SDK" value="true" />
102
+ <option name="ADD_CONTENT_ROOTS" value="true" />
103
+ <option name="ADD_SOURCE_ROOTS" value="true" />
104
+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
105
+ <option name="SCRIPT_NAME" value="$PROJECT_DIR$/lesscode_database/orm/orm_typing.py" />
106
+ <option name="PARAMETERS" value="" />
107
+ <option name="SHOW_COMMAND_LINE" value="false" />
108
+ <option name="EMULATE_TERMINAL" value="false" />
109
+ <option name="MODULE_MODE" value="false" />
110
+ <option name="REDIRECT_INPUT" value="false" />
111
+ <option name="INPUT_FILE" value="" />
112
+ <method v="2" />
113
+ </configuration>
114
+ <configuration name="t" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
115
+ <module name="lesscode_database" />
116
+ <option name="ENV_FILES" value="" />
117
+ <option name="INTERPRETER_OPTIONS" value="" />
118
+ <option name="PARENT_ENVS" value="true" />
119
+ <envs>
120
+ <env name="PYTHONUNBUFFERED" value="1" />
121
+ </envs>
122
+ <option name="SDK_HOME" value="" />
123
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
124
+ <option name="IS_MODULE_SDK" value="true" />
125
+ <option name="ADD_CONTENT_ROOTS" value="true" />
126
+ <option name="ADD_SOURCE_ROOTS" value="true" />
127
+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
128
+ <option name="SCRIPT_NAME" value="$PROJECT_DIR$/t.py" />
129
+ <option name="PARAMETERS" value="" />
130
+ <option name="SHOW_COMMAND_LINE" value="false" />
131
+ <option name="EMULATE_TERMINAL" value="false" />
132
+ <option name="MODULE_MODE" value="false" />
133
+ <option name="REDIRECT_INPUT" value="false" />
134
+ <option name="INPUT_FILE" value="" />
135
+ <method v="2" />
136
+ </configuration>
137
+ <recent_temporary>
138
+ <list>
139
+ <item itemvalue="Python.orm_exec" />
140
+ <item itemvalue="Python.orm_typing" />
141
+ <item itemvalue="Python.t" />
142
+ </list>
143
+ </recent_temporary>
144
+ </component>
145
+ <component name="SharedIndexes">
146
+ <attachedChunks>
147
+ <set>
148
+ <option value="bundled-js-predefined-d6986cc7102b-f27c65a3e318-JavaScript-PY-251.23774.444" />
149
+ <option value="bundled-python-sdk-890ed5b35930-d9c5bdb153f4-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-251.23774.444" />
150
+ </set>
151
+ </attachedChunks>
152
+ </component>
153
+ <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
154
+ <component name="TaskManager">
155
+ <task active="true" id="Default" summary="Default task">
156
+ <changelist id="5ce6a727-6187-4970-b4b5-e0571f06d609" name="Changes" comment="" />
157
+ <created>1726989588115</created>
158
+ <option name="number" value="Default" />
159
+ <option name="presentableId" value="Default" />
160
+ <updated>1726989588115</updated>
161
+ <workItem from="1726989589697" duration="52000" />
162
+ <workItem from="1726990079669" duration="2668000" />
163
+ <workItem from="1743917546471" duration="147000" />
164
+ <workItem from="1743917704527" duration="34088000" />
165
+ <workItem from="1744722510689" duration="298000" />
166
+ <workItem from="1744722825747" duration="2130000" />
167
+ <workItem from="1745845007941" duration="1773000" />
168
+ <workItem from="1745986151014" duration="194000" />
169
+ <workItem from="1745986369694" duration="6717000" />
170
+ <workItem from="1745993614636" duration="4389000" />
171
+ </task>
172
+ <task id="LOCAL-00001" summary="add dm">
173
+ <option name="closed" value="true" />
174
+ <created>1726992524046</created>
175
+ <option name="number" value="00001" />
176
+ <option name="presentableId" value="LOCAL-00001" />
177
+ <option name="project" value="LOCAL" />
178
+ <updated>1726992524046</updated>
179
+ </task>
180
+ <task id="LOCAL-00002" summary="feat(database): 新增 ORM 相关模块&#10;&#10;- 添加 orm_exec.py 文件,实现 SQL 查询的构建和执行&#10;- 添加 orm_model.py 文件,定义基础模型类和元类&#10;- 添加 orm_typing.py 文件,实现字段类型和操作符的定义&#10;- 通过 TestModel 类进行简单测试">
181
+ <option name="closed" value="true" />
182
+ <created>1743937994275</created>
183
+ <option name="number" value="00002" />
184
+ <option name="presentableId" value="LOCAL-00002" />
185
+ <option name="project" value="LOCAL" />
186
+ <updated>1743937994275</updated>
187
+ </task>
188
+ <task id="LOCAL-00003" summary="refactor(orm): 优化代码结构和格式&#10;&#10;- 移除了 orm_model.py 中未使用的导入- 优化了 orm_typing.py 中的代码格式">
189
+ <option name="closed" value="true" />
190
+ <created>1743938057553</created>
191
+ <option name="number" value="00003" />
192
+ <option name="presentableId" value="LOCAL-00003" />
193
+ <option name="project" value="LOCAL" />
194
+ <updated>1743938057554</updated>
195
+ </task>
196
+ <task id="LOCAL-00004" summary="feat(orm): 添加 ORM 函数支持&#10;&#10;- 新增 OrmFunc 类用于定义 ORM 函数&#10;- 在 orm_exec.py 中添加对 OrmFunc 的支持&#10;- 新增 func_sum、func_min、func_max 和 func_argv 等 ORM函数">
197
+ <option name="closed" value="true" />
198
+ <created>1743939552237</created>
199
+ <option name="number" value="00004" />
200
+ <option name="presentableId" value="LOCAL-00004" />
201
+ <option name="project" value="LOCAL" />
202
+ <updated>1743939552237</updated>
203
+ </task>
204
+ <task id="LOCAL-00005" summary="fix(orm): 修复聚合函数在 ORM 中的使用问题&#10;&#10;- 增加对聚合函数如 sum、argv、min、max 的空参数处理&#10;- 当 column 参数为空时,返回函数名后不带参数的字符串表示&#10;-保持了向后兼容性,当 column 参数存在时,行为与之前相同">
205
+ <option name="closed" value="true" />
206
+ <created>1743939781788</created>
207
+ <option name="number" value="00005" />
208
+ <option name="presentableId" value="LOCAL-00005" />
209
+ <option name="project" value="LOCAL" />
210
+ <updated>1743939781788</updated>
211
+ </task>
212
+ <task id="LOCAL-00006" summary="refactor(orm): 优化 orm_func.py 中的代码逻辑&#10;&#10;- 将判断 column 变量的条件从 if not column 改为 if column is None&#10;- 这样可以更准确地判断 column 是否被设置,避免潜在的逻辑错误">
213
+ <option name="closed" value="true" />
214
+ <created>1743939833377</created>
215
+ <option name="number" value="00006" />
216
+ <option name="presentableId" value="LOCAL-00006" />
217
+ <option name="project" value="LOCAL" />
218
+ <updated>1743939833377</updated>
219
+ </task>
220
+ <task id="LOCAL-00007" summary="feat(orm): 为函数列添加别名支持&#10;&#10;- 在 FuncColumnType 类的 __repr__ 方法中增加了对别名属性的支持&#10;- 当存在别名时,会在函数列的字符串表示中添加 AS子句&#10;- 此修改允许在使用函数列时指定别名,提高查询结果的可读性">
221
+ <option name="closed" value="true" />
222
+ <created>1743940193533</created>
223
+ <option name="number" value="00007" />
224
+ <option name="presentableId" value="LOCAL-00007" />
225
+ <option name="project" value="LOCAL" />
226
+ <updated>1743940193533</updated>
227
+ </task>
228
+ <task id="LOCAL-00008" summary="feat(orm): 新增 Update、Delete 和 Insert 类以支持对应 SQL 操作&#10;&#10;- 新增 Update 类,用于生成更新操作的 SQL语句&#10;- 新增 Delete 类,用于生成删除操作的 SQL语句&#10;- 新增 Insert 类,用于生成插入操作的 SQL语句&#10;- 扩展 Exec 类以支持新的 SQL 操作对象">
229
+ <option name="closed" value="true" />
230
+ <created>1743944949171</created>
231
+ <option name="number" value="00008" />
232
+ <option name="presentableId" value="LOCAL-00008" />
233
+ <option name="project" value="LOCAL" />
234
+ <updated>1743944949171</updated>
235
+ </task>
236
+ <task id="LOCAL-00009" summary="refactor(orm_exec): 重构 Exec 类以提高代码质量和可用性&#10;&#10;- 修改构造函数,使其不再需要 SQL 对象参数&#10;-重写 execute 方法,使其可以接受任何 SQL 对象&#10;- 添加 all 和 first 方法,以更清晰地获取查询结果&#10;- 优化代码结构,提高可读性和可维护性">
237
+ <option name="closed" value="true" />
238
+ <created>1743945868579</created>
239
+ <option name="number" value="00009" />
240
+ <option name="presentableId" value="LOCAL-00009" />
241
+ <option name="project" value="LOCAL" />
242
+ <updated>1743945868579</updated>
243
+ </task>
244
+ <task id="LOCAL-00010" summary="refactor(orm): 优化 Select 类的执行逻辑&#10;&#10;- 修改 exec 方法,针对 Select 类型的查询返回自身实例&#10;- 对于非 Select 查询,返回执行结果&#10;- 优化了查询执行流程,提高了代码的可读性和灵活性">
245
+ <option name="closed" value="true" />
246
+ <created>1743946016483</created>
247
+ <option name="number" value="00010" />
248
+ <option name="presentableId" value="LOCAL-00010" />
249
+ <option name="project" value="LOCAL" />
250
+ <updated>1743946016483</updated>
251
+ </task>
252
+ <task id="LOCAL-00011" summary="feat(orm_typing): 添加新的数据类型类&#10;&#10;- 新增了多种数据类型类,包括 BigInt、Decimal、Float、Double、Numeric、Real、Date、DateTime、TimeStamp、Time、Year、Char、Text、Varchar、Binary、Varbinary、Bolb、Boolean 和 Bool&#10;- 为每个数据类型类添加了适当的类型检查和属性初始化&#10;- 优化了部分现有类的定义,增加了默认值和参数类型注解">
253
+ <option name="closed" value="true" />
254
+ <created>1743948246804</created>
255
+ <option name="number" value="00011" />
256
+ <option name="presentableId" value="LOCAL-00011" />
257
+ <option name="project" value="LOCAL" />
258
+ <updated>1743948246804</updated>
259
+ </task>
260
+ <task id="LOCAL-00012" summary="feat(orm_typing): 为 ColumnType 类添加值类型检查- 在 ColumnType 类中添加 _check_value 方法,用于检查值的类型&#10;- 当传入的值与列类型不匹配时,抛出异常">
261
+ <option name="closed" value="true" />
262
+ <created>1743948772953</created>
263
+ <option name="number" value="00012" />
264
+ <option name="presentableId" value="LOCAL-00012" />
265
+ <option name="project" value="LOCAL" />
266
+ <updated>1743948772953</updated>
267
+ </task>
268
+ <task id="LOCAL-00013" summary="fix(orm): 修复字段比较操作的字符串格式化问题&#10;&#10;- 在 Field 类的比较方法中,将 other 参数的字符串表示改为 other._name&#10;- 修复了字段比较时可能出现的错误字符串格式- 保证了字段比较操作的正确性和一致性">
269
+ <option name="closed" value="true" />
270
+ <created>1744722178647</created>
271
+ <option name="number" value="00013" />
272
+ <option name="presentableId" value="LOCAL-00013" />
273
+ <option name="project" value="LOCAL" />
274
+ <updated>1744722178647</updated>
275
+ </task>
276
+ <task id="LOCAL-00014" summary="feat(orm_typing): 为字段类型添加别名属性&#10;&#10;- 在 BaseColumnType 类中添加 alias 参数,用于指定字段的别名- 如果未提供别名,则使用字段名称作为默认别名&#10;- 这个改动可以增强 ORM 的灵活性,特别是在处理与数据库字段名称不一致的情况时">
277
+ <option name="closed" value="true" />
278
+ <created>1744722592669</created>
279
+ <option name="number" value="00014" />
280
+ <option name="presentableId" value="LOCAL-00014" />
281
+ <option name="project" value="LOCAL" />
282
+ <updated>1744722592669</updated>
283
+ </task>
284
+ <task id="LOCAL-00015" summary="refactor(orm): 修改列别名处理逻辑&#10;&#10;- 在 BaseColumnType 类中的 alias 方法中添加对别名的赋值操作&#10;- 删除了原本返回 BaseColumnTypeAlias 实例的逻辑">
285
+ <option name="closed" value="true" />
286
+ <created>1744722755689</created>
287
+ <option name="number" value="00015" />
288
+ <option name="presentableId" value="LOCAL-00015" />
289
+ <option name="project" value="LOCAL" />
290
+ <updated>1744722755689</updated>
291
+ </task>
292
+ <task id="LOCAL-00016" summary="feat(database): 增加对 MySQL 数据库的增删查改功能&#10;&#10;- 在 DsHelper 类中添加 exec_ 和 async_exec_ 方法,用于执行不同类型的 SQL 查询&#10;- 在 OrmExec 类中实现 all、first、update、delete 和 insert 方法,支持 ORM 方式的数据库操作&#10;- 优化数据库连接池配置,增加 DictCursor 支持">
293
+ <option name="closed" value="true" />
294
+ <created>1745992956905</created>
295
+ <option name="number" value="00016" />
296
+ <option name="presentableId" value="LOCAL-00016" />
297
+ <option name="project" value="LOCAL" />
298
+ <updated>1745992956905</updated>
299
+ </task>
300
+ <option name="localTasksCounter" value="17" />
301
+ <servers />
302
+ </component>
303
+ <component name="TypeScriptGeneratedFilesManager">
304
+ <option name="version" value="3" />
305
+ </component>
306
+ <component name="VcsManagerConfiguration">
307
+ <MESSAGE value="add dm" />
308
+ <MESSAGE value="feat(database): 新增 ORM 相关模块&#10;&#10;- 添加 orm_exec.py 文件,实现 SQL 查询的构建和执行&#10;- 添加 orm_model.py 文件,定义基础模型类和元类&#10;- 添加 orm_typing.py 文件,实现字段类型和操作符的定义&#10;- 通过 TestModel 类进行简单测试" />
309
+ <MESSAGE value="refactor(orm): 优化代码结构和格式&#10;&#10;- 移除了 orm_model.py 中未使用的导入- 优化了 orm_typing.py 中的代码格式" />
310
+ <MESSAGE value="feat(orm): 添加 ORM 函数支持&#10;&#10;- 新增 OrmFunc 类用于定义 ORM 函数&#10;- 在 orm_exec.py 中添加对 OrmFunc 的支持&#10;- 新增 func_sum、func_min、func_max 和 func_argv 等 ORM函数" />
311
+ <MESSAGE value="fix(orm): 修复聚合函数在 ORM 中的使用问题&#10;&#10;- 增加对聚合函数如 sum、argv、min、max 的空参数处理&#10;- 当 column 参数为空时,返回函数名后不带参数的字符串表示&#10;-保持了向后兼容性,当 column 参数存在时,行为与之前相同" />
312
+ <MESSAGE value="refactor(orm): 优化 orm_func.py 中的代码逻辑&#10;&#10;- 将判断 column 变量的条件从 if not column 改为 if column is None&#10;- 这样可以更准确地判断 column 是否被设置,避免潜在的逻辑错误" />
313
+ <MESSAGE value="feat(orm): 为函数列添加别名支持&#10;&#10;- 在 FuncColumnType 类的 __repr__ 方法中增加了对别名属性的支持&#10;- 当存在别名时,会在函数列的字符串表示中添加 AS子句&#10;- 此修改允许在使用函数列时指定别名,提高查询结果的可读性" />
314
+ <MESSAGE value="feat(orm): 新增 Update、Delete 和 Insert 类以支持对应 SQL 操作&#10;&#10;- 新增 Update 类,用于生成更新操作的 SQL语句&#10;- 新增 Delete 类,用于生成删除操作的 SQL语句&#10;- 新增 Insert 类,用于生成插入操作的 SQL语句&#10;- 扩展 Exec 类以支持新的 SQL 操作对象" />
315
+ <MESSAGE value="refactor(orm_exec): 重构 Exec 类以提高代码质量和可用性&#10;&#10;- 修改构造函数,使其不再需要 SQL 对象参数&#10;-重写 execute 方法,使其可以接受任何 SQL 对象&#10;- 添加 all 和 first 方法,以更清晰地获取查询结果&#10;- 优化代码结构,提高可读性和可维护性" />
316
+ <MESSAGE value="refactor(orm): 优化 Select 类的执行逻辑&#10;&#10;- 修改 exec 方法,针对 Select 类型的查询返回自身实例&#10;- 对于非 Select 查询,返回执行结果&#10;- 优化了查询执行流程,提高了代码的可读性和灵活性" />
317
+ <MESSAGE value="feat(orm_typing): 添加新的数据类型类&#10;&#10;- 新增了多种数据类型类,包括 BigInt、Decimal、Float、Double、Numeric、Real、Date、DateTime、TimeStamp、Time、Year、Char、Text、Varchar、Binary、Varbinary、Bolb、Boolean 和 Bool&#10;- 为每个数据类型类添加了适当的类型检查和属性初始化&#10;- 优化了部分现有类的定义,增加了默认值和参数类型注解" />
318
+ <MESSAGE value="feat(orm_typing): 为 ColumnType 类添加值类型检查- 在 ColumnType 类中添加 _check_value 方法,用于检查值的类型&#10;- 当传入的值与列类型不匹配时,抛出异常" />
319
+ <MESSAGE value="fix(orm): 修复字段比较操作的字符串格式化问题&#10;&#10;- 在 Field 类的比较方法中,将 other 参数的字符串表示改为 other._name&#10;- 修复了字段比较时可能出现的错误字符串格式- 保证了字段比较操作的正确性和一致性" />
320
+ <MESSAGE value="feat(orm_typing): 为字段类型添加别名属性&#10;&#10;- 在 BaseColumnType 类中添加 alias 参数,用于指定字段的别名- 如果未提供别名,则使用字段名称作为默认别名&#10;- 这个改动可以增强 ORM 的灵活性,特别是在处理与数据库字段名称不一致的情况时" />
321
+ <MESSAGE value="refactor(orm): 修改列别名处理逻辑&#10;&#10;- 在 BaseColumnType 类中的 alias 方法中添加对别名的赋值操作&#10;- 删除了原本返回 BaseColumnTypeAlias 实例的逻辑" />
322
+ <MESSAGE value="feat(database): 增加对 MySQL 数据库的增删查改功能&#10;&#10;- 在 DsHelper 类中添加 exec_ 和 async_exec_ 方法,用于执行不同类型的 SQL 查询&#10;- 在 OrmExec 类中实现 all、first、update、delete 和 insert 方法,支持 ORM 方式的数据库操作&#10;- 优化数据库连接池配置,增加 DictCursor 支持" />
323
+ <option name="LAST_COMMIT_MESSAGE" value="feat(database): 增加对 MySQL 数据库的增删查改功能&#10;&#10;- 在 DsHelper 类中添加 exec_ 和 async_exec_ 方法,用于执行不同类型的 SQL 查询&#10;- 在 OrmExec 类中实现 all、first、update、delete 和 insert 方法,支持 ORM 方式的数据库操作&#10;- 优化数据库连接池配置,增加 DictCursor 支持" />
324
+ </component>
325
+ <component name="com.intellij.coverage.CoverageDataManagerImpl">
326
+ <SUITE FILE_PATH="coverage/lesscode_database$t.coverage" NAME="t Coverage Results" MODIFIED="1743923878274" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
327
+ <SUITE FILE_PATH="coverage/lesscode_database$orm_exec.coverage" NAME="orm_exec Coverage Results" MODIFIED="1743936991014" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/lesscode_database/orm" />
328
+ <SUITE FILE_PATH="coverage/lesscode_database$typing.coverage" NAME="orm_typing Coverage Results" MODIFIED="1743924819370" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/lesscode_database/orm" />
329
+ </component>
330
+ </project>
@@ -0,0 +1,5 @@
1
+ MIT License
2
+
3
+ Copyright (c) [year] [fullname]
4
+
5
+ Permission is hereby granted...
@@ -1,15 +1,19 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-database
3
- Version: 0.0.11
3
+ Version: 0.0.12
4
4
  Summary: lesscode_database是数据库连接工具包
5
- Author: navysummer
6
- Author-email: navysummer@yeah.net
7
- Platform: python
8
- Classifier: Programming Language :: Python :: 3
5
+ Author-email: navysummer <navysummer@yeah.net>
6
+ License: MIT License
7
+
8
+ Copyright (c) [year] [fullname]
9
+
10
+ Permission is hereby granted...
11
+ License-File: LICENSE
12
+ Classifier: License :: OSI Approved :: MIT License
9
13
  Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.6
14
+ Classifier: Programming Language :: Python :: 3
15
+ Requires-Python: >=3.7
11
16
  Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
17
 
14
18
  # lesscode_database
15
19