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.
Files changed (66) hide show
  1. {typedal-4.3.5 → typedal-4.3.6}/CHANGELOG.md +6 -0
  2. {typedal-4.3.5 → typedal-4.3.6}/PKG-INFO +1 -1
  3. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/__about__.py +1 -1
  4. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/core.py +2 -2
  5. {typedal-4.3.5 → typedal-4.3.6}/tests/test_config.py +18 -0
  6. {typedal-4.3.5 → typedal-4.3.6}/.github/workflows/su6.yml +0 -0
  7. {typedal-4.3.5 → typedal-4.3.6}/.gitignore +0 -0
  8. {typedal-4.3.5 → typedal-4.3.6}/.readthedocs.yml +0 -0
  9. {typedal-4.3.5 → typedal-4.3.6}/README.md +0 -0
  10. {typedal-4.3.5 → typedal-4.3.6}/coverage.svg +0 -0
  11. {typedal-4.3.5 → typedal-4.3.6}/docs/1_getting_started.md +0 -0
  12. {typedal-4.3.5 → typedal-4.3.6}/docs/2_defining_tables.md +0 -0
  13. {typedal-4.3.5 → typedal-4.3.6}/docs/3_building_queries.md +0 -0
  14. {typedal-4.3.5 → typedal-4.3.6}/docs/4_relationships.md +0 -0
  15. {typedal-4.3.5 → typedal-4.3.6}/docs/5_py4web.md +0 -0
  16. {typedal-4.3.5 → typedal-4.3.6}/docs/6_migrations.md +0 -0
  17. {typedal-4.3.5 → typedal-4.3.6}/docs/7_configuration.md +0 -0
  18. {typedal-4.3.5 → typedal-4.3.6}/docs/8_mixins.md +0 -0
  19. {typedal-4.3.5 → typedal-4.3.6}/docs/css/code_blocks.css +0 -0
  20. {typedal-4.3.5 → typedal-4.3.6}/docs/index.md +0 -0
  21. {typedal-4.3.5 → typedal-4.3.6}/docs/requirements.txt +0 -0
  22. {typedal-4.3.5 → typedal-4.3.6}/example_new.py +0 -0
  23. {typedal-4.3.5 → typedal-4.3.6}/example_old.py +0 -0
  24. {typedal-4.3.5 → typedal-4.3.6}/mkdocs.yml +0 -0
  25. {typedal-4.3.5 → typedal-4.3.6}/pyproject.toml +0 -0
  26. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/__init__.py +0 -0
  27. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/caching.py +0 -0
  28. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/cli.py +0 -0
  29. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/config.py +0 -0
  30. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/constants.py +0 -0
  31. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/define.py +0 -0
  32. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/fields.py +0 -0
  33. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/for_py4web.py +0 -0
  34. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/for_web2py.py +0 -0
  35. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/helpers.py +0 -0
  36. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/mixins.py +0 -0
  37. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/py.typed +0 -0
  38. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/query_builder.py +0 -0
  39. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/relationships.py +0 -0
  40. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/rows.py +0 -0
  41. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/serializers/as_json.py +0 -0
  42. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/tables.py +0 -0
  43. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/types.py +0 -0
  44. {typedal-4.3.5 → typedal-4.3.6}/src/typedal/web2py_py4web_shared.py +0 -0
  45. {typedal-4.3.5 → typedal-4.3.6}/tests/__init__.py +0 -0
  46. {typedal-4.3.5 → typedal-4.3.6}/tests/configs/simple.toml +0 -0
  47. {typedal-4.3.5 → typedal-4.3.6}/tests/configs/valid.env +0 -0
  48. {typedal-4.3.5 → typedal-4.3.6}/tests/configs/valid.toml +0 -0
  49. {typedal-4.3.5 → typedal-4.3.6}/tests/py314_tests.py +0 -0
  50. {typedal-4.3.5 → typedal-4.3.6}/tests/test_cli.py +0 -0
  51. {typedal-4.3.5 → typedal-4.3.6}/tests/test_docs_examples.py +0 -0
  52. {typedal-4.3.5 → typedal-4.3.6}/tests/test_helpers.py +0 -0
  53. {typedal-4.3.5 → typedal-4.3.6}/tests/test_json.py +0 -0
  54. {typedal-4.3.5 → typedal-4.3.6}/tests/test_main.py +0 -0
  55. {typedal-4.3.5 → typedal-4.3.6}/tests/test_mixins.py +0 -0
  56. {typedal-4.3.5 → typedal-4.3.6}/tests/test_mypy.py +0 -0
  57. {typedal-4.3.5 → typedal-4.3.6}/tests/test_orm.py +0 -0
  58. {typedal-4.3.5 → typedal-4.3.6}/tests/test_py4web.py +0 -0
  59. {typedal-4.3.5 → typedal-4.3.6}/tests/test_query_builder.py +0 -0
  60. {typedal-4.3.5 → typedal-4.3.6}/tests/test_relationships.py +0 -0
  61. {typedal-4.3.5 → typedal-4.3.6}/tests/test_row.py +0 -0
  62. {typedal-4.3.5 → typedal-4.3.6}/tests/test_stats.py +0 -0
  63. {typedal-4.3.5 → typedal-4.3.6}/tests/test_table.py +0 -0
  64. {typedal-4.3.5 → typedal-4.3.6}/tests/test_web2py.py +0 -0
  65. {typedal-4.3.5 → typedal-4.3.6}/tests/test_xx_others.py +0 -0
  66. {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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TypeDAL
3
- Version: 4.3.5
3
+ Version: 4.3.6
4
4
  Summary: Typing support for PyDAL
5
5
  Project-URL: Documentation, https://typedal.readthedocs.io/
6
6
  Project-URL: Issues, https://github.com/trialandsuccess/TypeDAL/issues
@@ -5,4 +5,4 @@ This file contains the Version info for this package.
5
5
  # SPDX-FileCopyrightText: 2023-present Robin van der Noord <robinvandernoord@gmail.com>
6
6
  #
7
7
  # SPDX-License-Identifier: MIT
8
- __version__ = "4.3.5"
8
+ __version__ = "4.3.6"
@@ -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=True)
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=True, fake_migrate=True, redefine=True)
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