@ai-devtools/dbspec-windows-x64 1.6.4 → 1.6.6
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.
- package/bin/dbspec/_internal/base_library.zip +0 -0
- package/bin/dbspec/_internal/dbspec.egg-info/PKG-INFO +1 -1
- package/bin/dbspec/_internal/dbspec.egg-info/SOURCES.txt +2 -0
- package/bin/dbspec/_internal/pyproject.toml +1 -1
- package/bin/dbspec/_internal/src/resources/sqlalchemy_templates/README.md +20 -0
- package/bin/dbspec/_internal/src/resources/sqlalchemy_templates/model.py.j2 +2 -2
- package/bin/dbspec/dbspec.exe +0 -0
- package/package.json +1 -1
|
Binary file
|
|
@@ -93,6 +93,7 @@ src/migrations/collation_catalog.py
|
|
|
93
93
|
src/migrations/collation_rendering.py
|
|
94
94
|
src/migrations/collations.py
|
|
95
95
|
src/migrations/commands.py
|
|
96
|
+
src/migrations/default_rendering.py
|
|
96
97
|
src/migrations/defaults.py
|
|
97
98
|
src/migrations/errors.py
|
|
98
99
|
src/migrations/exact.py
|
|
@@ -113,6 +114,7 @@ src/migrations/reference_data_replacement.py
|
|
|
113
114
|
src/migrations/reference_data_replacement_downgrade.py
|
|
114
115
|
src/migrations/reference_data_sql.py
|
|
115
116
|
src/migrations/renderers.py
|
|
117
|
+
src/migrations/rendering_constants.py
|
|
116
118
|
src/migrations/revision.py
|
|
117
119
|
src/migrations/runner.py
|
|
118
120
|
src/migrations/sequence_sql.py
|
|
@@ -93,3 +93,23 @@ Jinja-параметров, зависящий только от стандар
|
|
|
93
93
|
таблицы допустимы, но состав каждой генерируемой таблицы должен совпасть с SSOT.
|
|
94
94
|
При ошибке прежний выходной каталог сохраняется. Установка приложения или соединение
|
|
95
95
|
с БД для штатных шаблонов не требуются.
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## Передача SQL default (1.6.5)
|
|
99
|
+
|
|
100
|
+
`col.server_default` по-прежнему содержит исходное SQL-выражение после применения
|
|
101
|
+
правил строковых defaults. Штатный шаблон использует `sql_default_renderer`
|
|
102
|
+
(глобальное значение Jinja `literal_column`) и фильтр `py_string` для передачи
|
|
103
|
+
SQL без интерпретации `:name` как bind-параметра. Значения с двоеточием и обратным
|
|
104
|
+
слешем сохраняются в PostgreSQL DDL. Имя `literal_column` зарезервировано при выборе
|
|
105
|
+
ORM-атрибутов, поэтому одноимённая SQL-колонка не перекрывает импорт.
|
|
106
|
+
|
|
107
|
+
Существующие проектные шаблоны не перезаписываются при инициализации. Чтобы
|
|
108
|
+
получить исправление в своей копии `model.py.j2`, замените рендеринг
|
|
109
|
+
`server_default=text(...)` на `server_default=literal_column(...)` в ветках ORM
|
|
110
|
+
и Core, сохранив фильтр `py_string`. Генератор добавляет `literal_column` в
|
|
111
|
+
`table.sa_imports`; импорт `text` оставлен для совместимости старых шаблонов.
|
|
112
|
+
Формат контекста `col.server_default` не меняется. Это передача SQL, а не
|
|
113
|
+
проверка безопасности выражений. Autogenerate через DBSpec сохраняет
|
|
114
|
+
`literal_column` при рендеринге ревизий; при прямом вызове Alembic без DBSpec
|
|
115
|
+
соответствующий `render_item` автоматически не устанавливается.
|
|
@@ -81,7 +81,7 @@ from ..{{ common_dir_name }}.base import metadata
|
|
|
81
81
|
{% if col.sequence -%}
|
|
82
82
|
{% set _ = col_args.append('server_default=' ~ col.sequence.var_name ~ '.next_value()') -%}
|
|
83
83
|
{% elif col.server_default -%}
|
|
84
|
-
{% set _ = col_args.append('server_default=
|
|
84
|
+
{% set _ = col_args.append('server_default=' ~ sql_default_renderer ~ '(' ~ (col.server_default | py_string) ~ ')') -%}
|
|
85
85
|
{% endif -%}
|
|
86
86
|
{% if include_comments and col.description -%}
|
|
87
87
|
{% set _ = col_args.append('comment=' ~ (col.description | py_repr)) -%}
|
|
@@ -326,7 +326,7 @@ class {{ table.class_name }}({{ base_class }}):
|
|
|
326
326
|
{% if col.sequence -%}
|
|
327
327
|
{% set _ = col_args.append('server_default=' ~ col.sequence.var_name ~ '.next_value()') -%}
|
|
328
328
|
{% elif col.server_default -%}
|
|
329
|
-
{% set _ = col_args.append('server_default=
|
|
329
|
+
{% set _ = col_args.append('server_default=' ~ sql_default_renderer ~ '(' ~ (col.server_default | py_string) ~ ')') -%}
|
|
330
330
|
{% endif -%}
|
|
331
331
|
{% if include_comments and col.description -%}
|
|
332
332
|
{% set _ = col_args.append('comment=' ~ (col.description | py_repr)) -%}
|
package/bin/dbspec/dbspec.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED