sqlalchemy-query-helpers 1.0.3__py3-none-any.whl → 1.0.4__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.

Potentially problematic release.


This version of sqlalchemy-query-helpers might be problematic. Click here for more details.

@@ -1,5 +1,5 @@
1
1
  from sqlalchemy import create_engine, MetaData, Table, select
2
- from sqlalchemy.orm import sessionmaker, Query, DeclarativeMeta
2
+ from sqlalchemy.orm import sessionmaker, Query, DeclarativeMeta, session
3
3
  from sqlalchemy.orm.attributes import InstrumentedAttribute
4
4
  from sqlalchemy.dialects.mysql import insert
5
5
  from sqlalchemy.exc import IntegrityError
@@ -11,6 +11,9 @@ class DB:
11
11
  is_updated = False
12
12
  name: str
13
13
  base: DeclarativeMeta = None
14
+ engine = None
15
+ Session: sessionmaker = None
16
+ session: session.Session = None
14
17
 
15
18
  def __init__(self, db_name, base: DeclarativeMeta, use_os_env=False, echo=False):
16
19
  self.base = base
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.1
2
+ Name: sqlalchemy-query-helpers
3
+ Version: 1.0.4
4
+ Summary: Some helpers for SQLAlchemy
5
+ Author-email: vladiscripts <blagopoluchie12@gmail.com>
6
+ Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
7
+ Project-URL: Issues, https://github.com/vladiscripts/sqlalchemy-query-helpers/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.10
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: sqlalchemy
15
+
16
+ Пакет содержит хелперы для пакета SQLAlchmy - методов `insert`, `upsert`, `update` и другое.
17
+
18
+ Инициализация: `db = DB(db_name, Base, use_os_env=False, echo=False)`. Где:
19
+ * `use_os_env`. Значение `True` означает брать определения для подключения к базе данных из переменных окружения хоста: `os.environ['DB_USER'], os.environ['DB_PASSWORD'], os.environ['DB_HOST']`. При значении `False` переменные user, password, host берутся из файла `cfg.py`, который должен быть создан в каталоге скрипта.
20
+
21
+ ## Экземпляр класса содержит
22
+ Методы:
23
+ * `insert_many`, `upsert` и другие
24
+
25
+ Свойства:
26
+ * `engine` - подключение к базе данных
27
+ * `name` - имя базы данных
28
+ * `base`: DeclarativeMeta
29
+ * `Session: sessionmaker`
30
+ * `session: session.Session`
31
+
32
+ ## Пример использования
33
+
34
+ Определяем модель таблицы в файле `db_model.py`:
35
+ ```python
36
+ from sqlalchemy import Column, Integer, String, Date, ForeignKey
37
+ from sqlalchemy.dialects.mysql import TINYINT, SMALLINT, INTEGER, ENUM, FLOAT
38
+ from sqlalchemy.schema import Index
39
+ from sqlalchemy.orm import declarative_base
40
+
41
+ Base = declarative_base()
42
+
43
+ db_name = 'some_database'
44
+
45
+
46
+ class ATable(Base):
47
+ __tablename__ = 'A_table'
48
+ id = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True)
49
+ name = Column(String(100), nullable=False)
50
+ ```
51
+
52
+ Основной файл:
53
+ ```pythonа
54
+ from sqlalchemy_query_helpers import DB
55
+ from db_model import db_name, Base, ATable
56
+
57
+ db = DB(db_name, Base)
58
+
59
+ values_from_database = db.session.query(ATable).all()
60
+ ```
61
+
62
+ #### Пример `cfg.py`
63
+ ```python
64
+ # Settings of database
65
+ host = '100.100.100.100'
66
+ user = 'root'
67
+ password = 'qwerty'
68
+ ```
@@ -0,0 +1,7 @@
1
+ sqlalchemy_query_helpers/__init__.py,sha256=xxmsXX2HKm1K8Ay9sy_tXGkPDWz3NXJI0s4xiwPckr0,39
2
+ sqlalchemy_query_helpers/main.py,sha256=pJucqLOdc6E6lBQmx0Holta4Oo8xJpi_RB9fxS_d0sA,12536
3
+ sqlalchemy_query_helpers-1.0.4.dist-info/LICENSE,sha256=XUL1pa84eZAnKR9S2WnYrv2M523Oysejy3KPlVSyCks,1069
4
+ sqlalchemy_query_helpers-1.0.4.dist-info/METADATA,sha256=jkKRiQS0YVyrn7iLsK-k-7CPELyLWn_59b5-CMAccCY,2523
5
+ sqlalchemy_query_helpers-1.0.4.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
6
+ sqlalchemy_query_helpers-1.0.4.dist-info/top_level.txt,sha256=3CUM4jiTua2frHF1satgUAYlW0QfDsvdkxO_6Fj_0zY,25
7
+ sqlalchemy_query_helpers-1.0.4.dist-info/RECORD,,
@@ -1,15 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: sqlalchemy-query-helpers
3
- Version: 1.0.3
4
- Summary: Some helpers for SQLAlchemy
5
- Author-email: vladiscripts <blagopoluchie12@gmail.com>
6
- Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
7
- Project-URL: Issues, https://github.com/vladiscripts/sqlalchemy-query-helpers/issues
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.10
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: sqlalchemy
15
-
@@ -1,7 +0,0 @@
1
- sqlalchemy_query_helpers/__init__.py,sha256=xxmsXX2HKm1K8Ay9sy_tXGkPDWz3NXJI0s4xiwPckr0,39
2
- sqlalchemy_query_helpers/main.py,sha256=VP-C9Lps0IJZ5ya2APJDRuJIUZlg4SSrpWiS-yr4wx0,12440
3
- sqlalchemy_query_helpers-1.0.3.dist-info/LICENSE,sha256=XUL1pa84eZAnKR9S2WnYrv2M523Oysejy3KPlVSyCks,1069
4
- sqlalchemy_query_helpers-1.0.3.dist-info/METADATA,sha256=F4SK8Kd_WuHJuXULzGKhptAAUEH212N22EsVpPZNqTI,584
5
- sqlalchemy_query_helpers-1.0.3.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
6
- sqlalchemy_query_helpers-1.0.3.dist-info/top_level.txt,sha256=3CUM4jiTua2frHF1satgUAYlW0QfDsvdkxO_6Fj_0zY,25
7
- sqlalchemy_query_helpers-1.0.3.dist-info/RECORD,,