TypeDAL 4.3.5__tar.gz → 4.3.6__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.
- {typedal-4.3.5 → typedal-4.3.6}/CHANGELOG.md +6 -0
- {typedal-4.3.5 → typedal-4.3.6}/PKG-INFO +1 -1
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/__about__.py +1 -1
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/core.py +2 -2
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_config.py +18 -0
- {typedal-4.3.5 → typedal-4.3.6}/.github/workflows/su6.yml +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/.gitignore +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/.readthedocs.yml +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/README.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/coverage.svg +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/1_getting_started.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/2_defining_tables.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/3_building_queries.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/4_relationships.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/5_py4web.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/6_migrations.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/7_configuration.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/8_mixins.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/css/code_blocks.css +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/index.md +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/docs/requirements.txt +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/example_new.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/example_old.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/mkdocs.yml +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/pyproject.toml +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/__init__.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/caching.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/cli.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/config.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/constants.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/define.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/fields.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/for_py4web.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/for_web2py.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/helpers.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/mixins.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/py.typed +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/query_builder.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/relationships.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/rows.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/serializers/as_json.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/tables.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/types.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/src/typedal/web2py_py4web_shared.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/__init__.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/configs/simple.toml +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/configs/valid.env +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/configs/valid.toml +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/py314_tests.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_cli.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_docs_examples.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_helpers.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_json.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_main.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_mixins.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_mypy.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_orm.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_py4web.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_query_builder.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_relationships.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_row.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_stats.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_table.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_web2py.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/test_xx_others.py +0 -0
- {typedal-4.3.5 → typedal-4.3.6}/tests/timings.py +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
<!--next-version-placeholder-->
|
|
4
4
|
|
|
5
|
+
## v4.3.6 (2026-01-19)
|
|
6
|
+
|
|
7
|
+
### Fix
|
|
8
|
+
|
|
9
|
+
* Ensure typedal caching respects provided 'migrate' enabled config ([`0bcc277`](https://github.com/trialandsuccess/TypeDAL/commit/0bcc2774dcec9231dc8a58438dd70d3ce29650e8))
|
|
10
|
+
|
|
5
11
|
## v4.3.5 (2026-01-09)
|
|
6
12
|
|
|
7
13
|
### Fix
|
|
@@ -246,7 +246,7 @@ class TypeDAL(pydal.DAL):
|
|
|
246
246
|
Try to define a model with migrate or fall back to fake migrate.
|
|
247
247
|
"""
|
|
248
248
|
try:
|
|
249
|
-
return self.define(model, migrate=
|
|
249
|
+
return self.define(model, migrate=self._migrate)
|
|
250
250
|
except Exception as e:
|
|
251
251
|
# clean up:
|
|
252
252
|
self.rollback()
|
|
@@ -257,7 +257,7 @@ class TypeDAL(pydal.DAL):
|
|
|
257
257
|
warnings.warn(f"{model} could not be migrated, try faking", source=e, category=RuntimeWarning)
|
|
258
258
|
|
|
259
259
|
# try again:
|
|
260
|
-
return self.define(model, migrate=
|
|
260
|
+
return self.define(model, migrate=self._migrate, fake_migrate=self._migrate, redefine=True)
|
|
261
261
|
|
|
262
262
|
default_kwargs: t.ClassVar[AnyDict] = {
|
|
263
263
|
# fields are 'required' (notnull) by default:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import datetime as dt
|
|
2
2
|
import os
|
|
3
3
|
import shutil
|
|
4
|
+
import sqlite3
|
|
4
5
|
import tempfile
|
|
5
6
|
import uuid
|
|
6
7
|
from pathlib import Path
|
|
@@ -331,3 +332,20 @@ def test_uuid_fields_sqlite(at_temp_dir):
|
|
|
331
332
|
UUIDTable.insert(gid="not-a-uuid")
|
|
332
333
|
|
|
333
334
|
assert '"gid" uuid NOT NULL' in UUIDTable._sql()
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
def test_cache_migrate_disabled():
|
|
338
|
+
try:
|
|
339
|
+
os.environ["TYPEDAL_MIGRATE"] = "0"
|
|
340
|
+
|
|
341
|
+
db = TypeDAL("sqlite:memory")
|
|
342
|
+
|
|
343
|
+
assert db._migrate == False
|
|
344
|
+
with pytest.raises(sqlite3.OperationalError):
|
|
345
|
+
# should raise NotFound because migrate is disabled:
|
|
346
|
+
assert db.executesql("""
|
|
347
|
+
select * from typedal_cache;
|
|
348
|
+
""")
|
|
349
|
+
|
|
350
|
+
finally:
|
|
351
|
+
del os.environ["TYPEDAL_MIGRATE"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|