alembic 1.13.3__py3-none-any.whl → 1.14.1__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.
- alembic/__init__.py +1 -1
- alembic/autogenerate/api.py +2 -2
- alembic/autogenerate/render.py +4 -3
- alembic/ddl/base.py +9 -9
- alembic/ddl/impl.py +39 -2
- alembic/ddl/postgresql.py +2 -1
- alembic/ddl/sqlite.py +11 -0
- alembic/runtime/migration.py +12 -17
- alembic/templates/async/alembic.ini.mako +6 -4
- alembic/templates/generic/alembic.ini.mako +6 -4
- alembic/templates/multidb/alembic.ini.mako +6 -4
- alembic/testing/env.py +4 -4
- alembic/util/compat.py +1 -0
- {alembic-1.13.3.dist-info → alembic-1.14.1.dist-info}/LICENSE +1 -1
- {alembic-1.13.3.dist-info → alembic-1.14.1.dist-info}/METADATA +8 -7
- {alembic-1.13.3.dist-info → alembic-1.14.1.dist-info}/RECORD +19 -19
- {alembic-1.13.3.dist-info → alembic-1.14.1.dist-info}/WHEEL +1 -1
- {alembic-1.13.3.dist-info → alembic-1.14.1.dist-info}/entry_points.txt +0 -0
- {alembic-1.13.3.dist-info → alembic-1.14.1.dist-info}/top_level.txt +0 -0
alembic/__init__.py
CHANGED
alembic/autogenerate/api.py
CHANGED
@@ -277,7 +277,7 @@ class AutogenContext:
|
|
277
277
|
"""Maintains configuration and state that's specific to an
|
278
278
|
autogenerate operation."""
|
279
279
|
|
280
|
-
metadata:
|
280
|
+
metadata: Union[MetaData, Sequence[MetaData], None] = None
|
281
281
|
"""The :class:`~sqlalchemy.schema.MetaData` object
|
282
282
|
representing the destination.
|
283
283
|
|
@@ -332,7 +332,7 @@ class AutogenContext:
|
|
332
332
|
def __init__(
|
333
333
|
self,
|
334
334
|
migration_context: MigrationContext,
|
335
|
-
metadata:
|
335
|
+
metadata: Union[MetaData, Sequence[MetaData], None] = None,
|
336
336
|
opts: Optional[Dict[str, Any]] = None,
|
337
337
|
autogenerate: bool = True,
|
338
338
|
) -> None:
|
alembic/autogenerate/render.py
CHANGED
@@ -831,7 +831,10 @@ def _repr_type(
|
|
831
831
|
|
832
832
|
mod = type(type_).__module__
|
833
833
|
imports = autogen_context.imports
|
834
|
-
|
834
|
+
|
835
|
+
if not _skip_variants and sqla_compat._type_has_variants(type_):
|
836
|
+
return _render_Variant_type(type_, autogen_context)
|
837
|
+
elif mod.startswith("sqlalchemy.dialects"):
|
835
838
|
match = re.match(r"sqlalchemy\.dialects\.(\w+)", mod)
|
836
839
|
assert match is not None
|
837
840
|
dname = match.group(1)
|
@@ -843,8 +846,6 @@ def _repr_type(
|
|
843
846
|
return "%s.%r" % (dname, type_)
|
844
847
|
elif impl_rt:
|
845
848
|
return impl_rt
|
846
|
-
elif not _skip_variants and sqla_compat._type_has_variants(type_):
|
847
|
-
return _render_Variant_type(type_, autogen_context)
|
848
849
|
elif mod.startswith("sqlalchemy."):
|
849
850
|
if "_render_%s_type" % type_.__visit_name__ in globals():
|
850
851
|
fn = globals()["_render_%s_type" % type_.__visit_name__]
|
alembic/ddl/base.py
CHANGED
@@ -175,7 +175,7 @@ class ColumnComment(AlterColumn):
|
|
175
175
|
self.comment = comment
|
176
176
|
|
177
177
|
|
178
|
-
@compiles(RenameTable)
|
178
|
+
@compiles(RenameTable)
|
179
179
|
def visit_rename_table(
|
180
180
|
element: RenameTable, compiler: DDLCompiler, **kw
|
181
181
|
) -> str:
|
@@ -185,7 +185,7 @@ def visit_rename_table(
|
|
185
185
|
)
|
186
186
|
|
187
187
|
|
188
|
-
@compiles(AddColumn)
|
188
|
+
@compiles(AddColumn)
|
189
189
|
def visit_add_column(element: AddColumn, compiler: DDLCompiler, **kw) -> str:
|
190
190
|
return "%s %s" % (
|
191
191
|
alter_table(compiler, element.table_name, element.schema),
|
@@ -193,7 +193,7 @@ def visit_add_column(element: AddColumn, compiler: DDLCompiler, **kw) -> str:
|
|
193
193
|
)
|
194
194
|
|
195
195
|
|
196
|
-
@compiles(DropColumn)
|
196
|
+
@compiles(DropColumn)
|
197
197
|
def visit_drop_column(element: DropColumn, compiler: DDLCompiler, **kw) -> str:
|
198
198
|
return "%s %s" % (
|
199
199
|
alter_table(compiler, element.table_name, element.schema),
|
@@ -201,7 +201,7 @@ def visit_drop_column(element: DropColumn, compiler: DDLCompiler, **kw) -> str:
|
|
201
201
|
)
|
202
202
|
|
203
203
|
|
204
|
-
@compiles(ColumnNullable)
|
204
|
+
@compiles(ColumnNullable)
|
205
205
|
def visit_column_nullable(
|
206
206
|
element: ColumnNullable, compiler: DDLCompiler, **kw
|
207
207
|
) -> str:
|
@@ -212,7 +212,7 @@ def visit_column_nullable(
|
|
212
212
|
)
|
213
213
|
|
214
214
|
|
215
|
-
@compiles(ColumnType)
|
215
|
+
@compiles(ColumnType)
|
216
216
|
def visit_column_type(element: ColumnType, compiler: DDLCompiler, **kw) -> str:
|
217
217
|
return "%s %s %s" % (
|
218
218
|
alter_table(compiler, element.table_name, element.schema),
|
@@ -221,7 +221,7 @@ def visit_column_type(element: ColumnType, compiler: DDLCompiler, **kw) -> str:
|
|
221
221
|
)
|
222
222
|
|
223
223
|
|
224
|
-
@compiles(ColumnName)
|
224
|
+
@compiles(ColumnName)
|
225
225
|
def visit_column_name(element: ColumnName, compiler: DDLCompiler, **kw) -> str:
|
226
226
|
return "%s RENAME %s TO %s" % (
|
227
227
|
alter_table(compiler, element.table_name, element.schema),
|
@@ -230,7 +230,7 @@ def visit_column_name(element: ColumnName, compiler: DDLCompiler, **kw) -> str:
|
|
230
230
|
)
|
231
231
|
|
232
232
|
|
233
|
-
@compiles(ColumnDefault)
|
233
|
+
@compiles(ColumnDefault)
|
234
234
|
def visit_column_default(
|
235
235
|
element: ColumnDefault, compiler: DDLCompiler, **kw
|
236
236
|
) -> str:
|
@@ -245,7 +245,7 @@ def visit_column_default(
|
|
245
245
|
)
|
246
246
|
|
247
247
|
|
248
|
-
@compiles(ComputedColumnDefault)
|
248
|
+
@compiles(ComputedColumnDefault)
|
249
249
|
def visit_computed_column(
|
250
250
|
element: ComputedColumnDefault, compiler: DDLCompiler, **kw
|
251
251
|
):
|
@@ -255,7 +255,7 @@ def visit_computed_column(
|
|
255
255
|
)
|
256
256
|
|
257
257
|
|
258
|
-
@compiles(IdentityColumnDefault)
|
258
|
+
@compiles(IdentityColumnDefault)
|
259
259
|
def visit_identity_column(
|
260
260
|
element: IdentityColumnDefault, compiler: DDLCompiler, **kw
|
261
261
|
):
|
alembic/ddl/impl.py
CHANGED
@@ -21,7 +21,12 @@ from typing import TYPE_CHECKING
|
|
21
21
|
from typing import Union
|
22
22
|
|
23
23
|
from sqlalchemy import cast
|
24
|
+
from sqlalchemy import Column
|
25
|
+
from sqlalchemy import MetaData
|
26
|
+
from sqlalchemy import PrimaryKeyConstraint
|
24
27
|
from sqlalchemy import schema
|
28
|
+
from sqlalchemy import String
|
29
|
+
from sqlalchemy import Table
|
25
30
|
from sqlalchemy import text
|
26
31
|
|
27
32
|
from . import _autogen
|
@@ -43,11 +48,9 @@ if TYPE_CHECKING:
|
|
43
48
|
from sqlalchemy.sql import Executable
|
44
49
|
from sqlalchemy.sql.elements import ColumnElement
|
45
50
|
from sqlalchemy.sql.elements import quoted_name
|
46
|
-
from sqlalchemy.sql.schema import Column
|
47
51
|
from sqlalchemy.sql.schema import Constraint
|
48
52
|
from sqlalchemy.sql.schema import ForeignKeyConstraint
|
49
53
|
from sqlalchemy.sql.schema import Index
|
50
|
-
from sqlalchemy.sql.schema import Table
|
51
54
|
from sqlalchemy.sql.schema import UniqueConstraint
|
52
55
|
from sqlalchemy.sql.selectable import TableClause
|
53
56
|
from sqlalchemy.sql.type_api import TypeEngine
|
@@ -136,6 +139,40 @@ class DefaultImpl(metaclass=ImplMeta):
|
|
136
139
|
self.output_buffer.write(text + "\n\n")
|
137
140
|
self.output_buffer.flush()
|
138
141
|
|
142
|
+
def version_table_impl(
|
143
|
+
self,
|
144
|
+
*,
|
145
|
+
version_table: str,
|
146
|
+
version_table_schema: Optional[str],
|
147
|
+
version_table_pk: bool,
|
148
|
+
**kw: Any,
|
149
|
+
) -> Table:
|
150
|
+
"""Generate a :class:`.Table` object which will be used as the
|
151
|
+
structure for the Alembic version table.
|
152
|
+
|
153
|
+
Third party dialects may override this hook to provide an alternate
|
154
|
+
structure for this :class:`.Table`; requirements are only that it
|
155
|
+
be named based on the ``version_table`` parameter and contains
|
156
|
+
at least a single string-holding column named ``version_num``.
|
157
|
+
|
158
|
+
.. versionadded:: 1.14
|
159
|
+
|
160
|
+
"""
|
161
|
+
vt = Table(
|
162
|
+
version_table,
|
163
|
+
MetaData(),
|
164
|
+
Column("version_num", String(32), nullable=False),
|
165
|
+
schema=version_table_schema,
|
166
|
+
)
|
167
|
+
if version_table_pk:
|
168
|
+
vt.append_constraint(
|
169
|
+
PrimaryKeyConstraint(
|
170
|
+
"version_num", name=f"{version_table}_pkc"
|
171
|
+
)
|
172
|
+
)
|
173
|
+
|
174
|
+
return vt
|
175
|
+
|
139
176
|
def requires_recreate_in_batch(
|
140
177
|
self, batch_op: BatchOperationsImpl
|
141
178
|
) -> bool:
|
alembic/ddl/postgresql.py
CHANGED
@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING
|
|
16
16
|
from typing import Union
|
17
17
|
|
18
18
|
from sqlalchemy import Column
|
19
|
+
from sqlalchemy import Float
|
19
20
|
from sqlalchemy import literal_column
|
20
21
|
from sqlalchemy import Numeric
|
21
22
|
from sqlalchemy import text
|
@@ -132,7 +133,7 @@ class PostgresqlImpl(DefaultImpl):
|
|
132
133
|
metadata_default = metadata_column.server_default.arg
|
133
134
|
|
134
135
|
if isinstance(metadata_default, str):
|
135
|
-
if not isinstance(inspector_column.type, Numeric):
|
136
|
+
if not isinstance(inspector_column.type, (Numeric, Float)):
|
136
137
|
metadata_default = re.sub(r"^'|'$", "", metadata_default)
|
137
138
|
metadata_default = f"'{metadata_default}'"
|
138
139
|
|
alembic/ddl/sqlite.py
CHANGED
@@ -16,6 +16,8 @@ from sqlalchemy import schema
|
|
16
16
|
from sqlalchemy import sql
|
17
17
|
|
18
18
|
from .base import alter_table
|
19
|
+
from .base import ColumnName
|
20
|
+
from .base import format_column_name
|
19
21
|
from .base import format_table_name
|
20
22
|
from .base import RenameTable
|
21
23
|
from .impl import DefaultImpl
|
@@ -207,6 +209,15 @@ def visit_rename_table(
|
|
207
209
|
)
|
208
210
|
|
209
211
|
|
212
|
+
@compiles(ColumnName, "sqlite")
|
213
|
+
def visit_column_name(element: ColumnName, compiler: DDLCompiler, **kw) -> str:
|
214
|
+
return "%s RENAME COLUMN %s TO %s" % (
|
215
|
+
alter_table(compiler, element.table_name, element.schema),
|
216
|
+
format_column_name(compiler, element.column_name),
|
217
|
+
format_column_name(compiler, element.newname),
|
218
|
+
)
|
219
|
+
|
220
|
+
|
210
221
|
# @compiles(AddColumn, 'sqlite')
|
211
222
|
# def visit_add_column(element, compiler, **kw):
|
212
223
|
# return "%s %s" % (
|
alembic/runtime/migration.py
CHANGED
@@ -24,10 +24,6 @@ from typing import Union
|
|
24
24
|
|
25
25
|
from sqlalchemy import Column
|
26
26
|
from sqlalchemy import literal_column
|
27
|
-
from sqlalchemy import MetaData
|
28
|
-
from sqlalchemy import PrimaryKeyConstraint
|
29
|
-
from sqlalchemy import String
|
30
|
-
from sqlalchemy import Table
|
31
27
|
from sqlalchemy.engine import Engine
|
32
28
|
from sqlalchemy.engine import url as sqla_url
|
33
29
|
from sqlalchemy.engine.strategies import MockEngineStrategy
|
@@ -36,6 +32,7 @@ from .. import ddl
|
|
36
32
|
from .. import util
|
37
33
|
from ..util import sqla_compat
|
38
34
|
from ..util.compat import EncodedIO
|
35
|
+
from ..util.sqla_compat import _select
|
39
36
|
|
40
37
|
if TYPE_CHECKING:
|
41
38
|
from sqlalchemy.engine import Dialect
|
@@ -190,18 +187,6 @@ class MigrationContext:
|
|
190
187
|
self.version_table_schema = version_table_schema = opts.get(
|
191
188
|
"version_table_schema", None
|
192
189
|
)
|
193
|
-
self._version = Table(
|
194
|
-
version_table,
|
195
|
-
MetaData(),
|
196
|
-
Column("version_num", String(32), nullable=False),
|
197
|
-
schema=version_table_schema,
|
198
|
-
)
|
199
|
-
if opts.get("version_table_pk", True):
|
200
|
-
self._version.append_constraint(
|
201
|
-
PrimaryKeyConstraint(
|
202
|
-
"version_num", name="%s_pkc" % version_table
|
203
|
-
)
|
204
|
-
)
|
205
190
|
|
206
191
|
self._start_from_rev: Optional[str] = opts.get("starting_rev")
|
207
192
|
self.impl = ddl.DefaultImpl.get_by_dialect(dialect)(
|
@@ -212,6 +197,13 @@ class MigrationContext:
|
|
212
197
|
self.output_buffer,
|
213
198
|
opts,
|
214
199
|
)
|
200
|
+
|
201
|
+
self._version = self.impl.version_table_impl(
|
202
|
+
version_table=version_table,
|
203
|
+
version_table_schema=version_table_schema,
|
204
|
+
version_table_pk=opts.get("version_table_pk", True),
|
205
|
+
)
|
206
|
+
|
215
207
|
log.info("Context impl %s.", self.impl.__class__.__name__)
|
216
208
|
if self.as_sql:
|
217
209
|
log.info("Generating static SQL")
|
@@ -540,7 +532,10 @@ class MigrationContext:
|
|
540
532
|
return ()
|
541
533
|
assert self.connection is not None
|
542
534
|
return tuple(
|
543
|
-
row[0]
|
535
|
+
row[0]
|
536
|
+
for row in self.connection.execute(
|
537
|
+
_select(self._version.c.version_num)
|
538
|
+
)
|
544
539
|
)
|
545
540
|
|
546
541
|
def _ensure_version_table(self, purge: bool = False) -> None:
|
@@ -15,7 +15,7 @@ prepend_sys_path = .
|
|
15
15
|
|
16
16
|
# timezone to use when rendering the date within the migration file
|
17
17
|
# as well as the filename.
|
18
|
-
# If specified, requires the python>=3.9 or backports.zoneinfo library.
|
18
|
+
# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
|
19
19
|
# Any required deps can installed by adding `alembic[tz]` to the pip requirements
|
20
20
|
# string value is passed to ZoneInfo()
|
21
21
|
# leave blank for localtime
|
@@ -48,7 +48,9 @@ prepend_sys_path = .
|
|
48
48
|
# version_path_separator = ;
|
49
49
|
# version_path_separator = space
|
50
50
|
# version_path_separator = newline
|
51
|
-
|
51
|
+
#
|
52
|
+
# Use os.pathsep. Default configuration used for new projects.
|
53
|
+
version_path_separator = os
|
52
54
|
|
53
55
|
# set to 'true' to search source files recursively
|
54
56
|
# in each "version_locations" directory
|
@@ -90,12 +92,12 @@ keys = console
|
|
90
92
|
keys = generic
|
91
93
|
|
92
94
|
[logger_root]
|
93
|
-
level =
|
95
|
+
level = WARNING
|
94
96
|
handlers = console
|
95
97
|
qualname =
|
96
98
|
|
97
99
|
[logger_sqlalchemy]
|
98
|
-
level =
|
100
|
+
level = WARNING
|
99
101
|
handlers =
|
100
102
|
qualname = sqlalchemy.engine
|
101
103
|
|
@@ -17,7 +17,7 @@ prepend_sys_path = .
|
|
17
17
|
|
18
18
|
# timezone to use when rendering the date within the migration file
|
19
19
|
# as well as the filename.
|
20
|
-
# If specified, requires the python>=3.9 or backports.zoneinfo library.
|
20
|
+
# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
|
21
21
|
# Any required deps can installed by adding `alembic[tz]` to the pip requirements
|
22
22
|
# string value is passed to ZoneInfo()
|
23
23
|
# leave blank for localtime
|
@@ -50,7 +50,9 @@ prepend_sys_path = .
|
|
50
50
|
# version_path_separator = ;
|
51
51
|
# version_path_separator = space
|
52
52
|
# version_path_separator = newline
|
53
|
-
|
53
|
+
#
|
54
|
+
# Use os.pathsep. Default configuration used for new projects.
|
55
|
+
version_path_separator = os
|
54
56
|
|
55
57
|
# set to 'true' to search source files recursively
|
56
58
|
# in each "version_locations" directory
|
@@ -92,12 +94,12 @@ keys = console
|
|
92
94
|
keys = generic
|
93
95
|
|
94
96
|
[logger_root]
|
95
|
-
level =
|
97
|
+
level = WARNING
|
96
98
|
handlers = console
|
97
99
|
qualname =
|
98
100
|
|
99
101
|
[logger_sqlalchemy]
|
100
|
-
level =
|
102
|
+
level = WARNING
|
101
103
|
handlers =
|
102
104
|
qualname = sqlalchemy.engine
|
103
105
|
|
@@ -17,7 +17,7 @@ prepend_sys_path = .
|
|
17
17
|
|
18
18
|
# timezone to use when rendering the date within the migration file
|
19
19
|
# as well as the filename.
|
20
|
-
# If specified, requires the python>=3.9 or backports.zoneinfo library.
|
20
|
+
# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
|
21
21
|
# Any required deps can installed by adding `alembic[tz]` to the pip requirements
|
22
22
|
# string value is passed to ZoneInfo()
|
23
23
|
# leave blank for localtime
|
@@ -50,7 +50,9 @@ prepend_sys_path = .
|
|
50
50
|
# version_path_separator = ;
|
51
51
|
# version_path_separator = space
|
52
52
|
# version_path_separator = newline
|
53
|
-
|
53
|
+
#
|
54
|
+
# Use os.pathsep. Default configuration used for new projects.
|
55
|
+
version_path_separator = os
|
54
56
|
|
55
57
|
# set to 'true' to search source files recursively
|
56
58
|
# in each "version_locations" directory
|
@@ -97,12 +99,12 @@ keys = console
|
|
97
99
|
keys = generic
|
98
100
|
|
99
101
|
[logger_root]
|
100
|
-
level =
|
102
|
+
level = WARNING
|
101
103
|
handlers = console
|
102
104
|
qualname =
|
103
105
|
|
104
106
|
[logger_sqlalchemy]
|
105
|
-
level =
|
107
|
+
level = WARNING
|
106
108
|
handlers =
|
107
109
|
qualname = sqlalchemy.engine
|
108
110
|
|
alembic/testing/env.py
CHANGED
@@ -118,7 +118,7 @@ keys = root,sqlalchemy
|
|
118
118
|
keys = console
|
119
119
|
|
120
120
|
[logger_root]
|
121
|
-
level =
|
121
|
+
level = WARNING
|
122
122
|
handlers = console
|
123
123
|
qualname =
|
124
124
|
|
@@ -171,7 +171,7 @@ keys = root
|
|
171
171
|
keys = console
|
172
172
|
|
173
173
|
[logger_root]
|
174
|
-
level =
|
174
|
+
level = WARNING
|
175
175
|
handlers = console
|
176
176
|
qualname =
|
177
177
|
|
@@ -216,7 +216,7 @@ keys = root
|
|
216
216
|
keys = console
|
217
217
|
|
218
218
|
[logger_root]
|
219
|
-
level =
|
219
|
+
level = WARNING
|
220
220
|
handlers = console
|
221
221
|
qualname =
|
222
222
|
|
@@ -497,7 +497,7 @@ keys = root
|
|
497
497
|
keys = console
|
498
498
|
|
499
499
|
[logger_root]
|
500
|
-
level =
|
500
|
+
level = WARNING
|
501
501
|
handlers = console
|
502
502
|
qualname =
|
503
503
|
|
alembic/util/compat.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: alembic
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.14.1
|
4
4
|
Summary: A database migration tool for SQLAlchemy.
|
5
5
|
Home-page: https://alembic.sqlalchemy.org
|
6
6
|
Author: Mike Bayer
|
@@ -28,13 +28,14 @@ Classifier: Topic :: Database :: Front-Ends
|
|
28
28
|
Requires-Python: >=3.8
|
29
29
|
Description-Content-Type: text/x-rst
|
30
30
|
License-File: LICENSE
|
31
|
-
Requires-Dist: SQLAlchemy
|
31
|
+
Requires-Dist: SQLAlchemy>=1.3.0
|
32
32
|
Requires-Dist: Mako
|
33
|
-
Requires-Dist:
|
34
|
-
Requires-Dist: importlib-
|
35
|
-
Requires-Dist:
|
33
|
+
Requires-Dist: importlib-metadata; python_version < "3.9"
|
34
|
+
Requires-Dist: importlib-resources; python_version < "3.9"
|
35
|
+
Requires-Dist: typing-extensions>=4
|
36
36
|
Provides-Extra: tz
|
37
|
-
Requires-Dist: backports.zoneinfo
|
37
|
+
Requires-Dist: backports.zoneinfo; python_version < "3.9" and extra == "tz"
|
38
|
+
Requires-Dist: tzdata; extra == "tz"
|
38
39
|
|
39
40
|
Alembic is a database migrations tool written by the author
|
40
41
|
of `SQLAlchemy <http://www.sqlalchemy.org>`_. A migrations tool
|
@@ -1,4 +1,4 @@
|
|
1
|
-
alembic/__init__.py,sha256=
|
1
|
+
alembic/__init__.py,sha256=cdCZTWAIlk-sWQ6BPu9FEdV7AUyFJpTFU1bwmzWvqTo,63
|
2
2
|
alembic/__main__.py,sha256=373m7-TBh72JqrSMYviGrxCHZo-cnweM8AGF8A22PmY,78
|
3
3
|
alembic/command.py,sha256=2tkKrIoEgPfXrGgvMRGrUXH4l-7z466DOxd7Q2XOfL8,22169
|
4
4
|
alembic/config.py,sha256=BZ7mwFRk2gq8GFNxxy9qvMUFx43YbDbQTC99OnjqiKY,22216
|
@@ -10,19 +10,19 @@ alembic/op.py,sha256=flHtcsVqOD-ZgZKK2pv-CJ5Cwh-KJ7puMUNXzishxLw,167
|
|
10
10
|
alembic/op.pyi,sha256=QZ1ERetxIrpZNTyg48Btn5OJhhpMId-_MLMP36RauOw,50168
|
11
11
|
alembic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
12
|
alembic/autogenerate/__init__.py,sha256=ntmUTXhjLm4_zmqIwyVaECdpPDn6_u1yM9vYk6-553E,543
|
13
|
-
alembic/autogenerate/api.py,sha256=
|
13
|
+
alembic/autogenerate/api.py,sha256=L4qkapSJO1Ypymx8HsjLl0vFFt202agwMYsQbIe6ZtI,22219
|
14
14
|
alembic/autogenerate/compare.py,sha256=cdUBH6qsedaJsnToSOu4MfcJaI4bjUJ4VWqtBlqsSr8,44944
|
15
|
-
alembic/autogenerate/render.py,sha256=
|
15
|
+
alembic/autogenerate/render.py,sha256=JUjXpAmxhO-WPJGgvs0V_xtEC0Tpv0AngDepVfPIWUc,35482
|
16
16
|
alembic/autogenerate/rewriter.py,sha256=uZWRkTYJoncoEJ5WY1QBRiozjyChqZDJPy4LtcRibjM,7846
|
17
17
|
alembic/ddl/__init__.py,sha256=Df8fy4Vn_abP8B7q3x8gyFwEwnLw6hs2Ljt_bV3EZWE,152
|
18
18
|
alembic/ddl/_autogen.py,sha256=Blv2RrHNyF4cE6znCQXNXG5T9aO-YmiwD4Fz-qfoaWA,9275
|
19
|
-
alembic/ddl/base.py,sha256=
|
20
|
-
alembic/ddl/impl.py,sha256=
|
19
|
+
alembic/ddl/base.py,sha256=gazpvtk_6XURcsa0libwcaIquL5HwJDP1ZWKJ6P7x0I,9788
|
20
|
+
alembic/ddl/impl.py,sha256=7-oxMb7KeycaK96x-kXw4mR6NSE1tmN0UEZIZrPcuhY,30195
|
21
21
|
alembic/ddl/mssql.py,sha256=ydvgBSaftKYjaBaMyqius66Ta4CICQSj79Og3Ed2atY,14219
|
22
22
|
alembic/ddl/mysql.py,sha256=kXOGYmpnL_9WL3ijXNsG4aAwy3m1HWJOoLZSePzmJF0,17316
|
23
23
|
alembic/ddl/oracle.py,sha256=669YlkcZihlXFbnXhH2krdrvDry8q5pcUGfoqkg_R6Y,6243
|
24
|
-
alembic/ddl/postgresql.py,sha256=
|
25
|
-
alembic/ddl/sqlite.py,sha256=
|
24
|
+
alembic/ddl/postgresql.py,sha256=OR9ufFDr-uvzIBk38OBsLlfr_PXG9qBSDYIj0-oNnwc,29921
|
25
|
+
alembic/ddl/sqlite.py,sha256=yR1ov010h3HIpJvZbCLTkR7HIkKQMfEAGJE7ZnLwmSU,7980
|
26
26
|
alembic/operations/__init__.py,sha256=e0KQSZAgLpTWvyvreB7DWg7RJV_MWSOPVDgCqsd2FzY,318
|
27
27
|
alembic/operations/base.py,sha256=JRaOtPqyqfaPjzGHxuP9VMcO1KsJNmbbLOvwG82qxGA,74474
|
28
28
|
alembic/operations/batch.py,sha256=YqtD4hJ3_RkFxvI7zbmBwxcLEyLHYyWQpsz4l5L85yI,26943
|
@@ -31,26 +31,26 @@ alembic/operations/schemaobj.py,sha256=Wp-bBe4a8lXPTvIHJttBY0ejtpVR5Jvtb2kI-U2Pz
|
|
31
31
|
alembic/operations/toimpl.py,sha256=Fx-UKcq6S8pVtsEwPFjTKtEcAVKjfptn-BfpE1k3_ck,7517
|
32
32
|
alembic/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
33
|
alembic/runtime/environment.py,sha256=SkYB_am1h3FSG8IsExAQxGP_7WwzOVigqjlO747Aokc,41497
|
34
|
-
alembic/runtime/migration.py,sha256=
|
34
|
+
alembic/runtime/migration.py,sha256=9GZ_bYZ6yMF7DUD1hgZdmB0YqvcdcNBBfxFaXKHeQoM,49857
|
35
35
|
alembic/script/__init__.py,sha256=lSj06O391Iy5avWAiq8SPs6N8RBgxkSPjP8wpXcNDGg,100
|
36
36
|
alembic/script/base.py,sha256=XLNpdsLnBBSz4ZKMFUArFUdtL1HcjtuUDHNbA-5VlZA,37809
|
37
37
|
alembic/script/revision.py,sha256=NTu-eu5Y78u4NoVXpT0alpD2oL40SGATA2sEMEf1el4,62306
|
38
38
|
alembic/script/write_hooks.py,sha256=NGB6NGgfdf7HK6XNNpSKqUCfzxazj-NRUePgFx7MJSM,5036
|
39
39
|
alembic/templates/async/README,sha256=ISVtAOvqvKk_5ThM5ioJE-lMkvf9IbknFUFVU_vPma4,58
|
40
|
-
alembic/templates/async/alembic.ini.mako,sha256=
|
40
|
+
alembic/templates/async/alembic.ini.mako,sha256=lYN5fP_fIX3FWtTcOy86Xznr6P5r1f0rlkdDhxLhVN4,3658
|
41
41
|
alembic/templates/async/env.py,sha256=zbOCf3Y7w2lg92hxSwmG1MM_7y56i_oRH4AKp0pQBYo,2389
|
42
42
|
alembic/templates/async/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
43
43
|
alembic/templates/generic/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
|
44
|
-
alembic/templates/generic/alembic.ini.mako,sha256=
|
44
|
+
alembic/templates/generic/alembic.ini.mako,sha256=TPnqGqwg9QG8uCvBY5jaz32U2pqVqLK1dG1e8i2yDYM,3766
|
45
45
|
alembic/templates/generic/env.py,sha256=TLRWOVW3Xpt_Tpf8JFzlnoPn_qoUu8UV77Y4o9XD6yI,2103
|
46
46
|
alembic/templates/generic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
47
47
|
alembic/templates/multidb/README,sha256=dWLDhnBgphA4Nzb7sNlMfCS3_06YqVbHhz-9O5JNqyI,606
|
48
|
-
alembic/templates/multidb/alembic.ini.mako,sha256=
|
48
|
+
alembic/templates/multidb/alembic.ini.mako,sha256=cVrikS0KRB46GVcjSO8xKYm7rqUngqTnd06pCozm1Pw,3860
|
49
49
|
alembic/templates/multidb/env.py,sha256=6zNjnW8mXGUk7erTsAvrfhvqoczJ-gagjVq1Ypg2YIQ,4230
|
50
50
|
alembic/templates/multidb/script.py.mako,sha256=N06nMtNSwHkgl0EBXDyMt8njp9tlOesR583gfq21nbY,1090
|
51
51
|
alembic/testing/__init__.py,sha256=kOxOh5nwmui9d-_CCq9WA4Udwy7ITjm453w74CTLZDo,1159
|
52
52
|
alembic/testing/assertions.py,sha256=ScUb1sVopIl70BirfHUJDvwswC70Q93CiIWwkiZbhHg,5207
|
53
|
-
alembic/testing/env.py,sha256=
|
53
|
+
alembic/testing/env.py,sha256=giHWVLhHkfNWrPEfrAqhpMOLL6FgWoBCVAzBVrVbSSA,10766
|
54
54
|
alembic/testing/fixtures.py,sha256=nBntOynOmVCFc7IYiN3DIQ3TBNTfiGCvL_1-FyCry8o,9462
|
55
55
|
alembic/testing/requirements.py,sha256=dKeAO1l5TwBqXarJN-IPORlCqCJv-41Dj6oXoEikxHQ,5133
|
56
56
|
alembic/testing/schemacompare.py,sha256=N5UqSNCOJetIKC4vKhpYzQEpj08XkdgIoqBmEPQ3tlc,4838
|
@@ -68,16 +68,16 @@ alembic/testing/suite/test_autogen_identity.py,sha256=kcuqngG7qXAKPJDX4U8sRzPKHE
|
|
68
68
|
alembic/testing/suite/test_environment.py,sha256=OwD-kpESdLoc4byBrGrXbZHvqtPbzhFCG4W9hJOJXPQ,11877
|
69
69
|
alembic/testing/suite/test_op.py,sha256=2XQCdm_NmnPxHGuGj7hmxMzIhKxXNotUsKdACXzE1mM,1343
|
70
70
|
alembic/util/__init__.py,sha256=KSZ7UT2YzH6CietgUtljVoE3QnGjoFKOi7RL5sgUxrk,1688
|
71
|
-
alembic/util/compat.py,sha256=
|
71
|
+
alembic/util/compat.py,sha256=eoR9ReCTV_l0xGgGlr_OJmVvJecttBYXRKfDhoK8zKU,2630
|
72
72
|
alembic/util/editor.py,sha256=JIz6_BdgV8_oKtnheR6DZoB7qnrHrlRgWjx09AsTsUw,2546
|
73
73
|
alembic/util/exc.py,sha256=KQTru4zcgAmN4IxLMwLFS56XToUewaXB7oOLcPNjPwg,98
|
74
74
|
alembic/util/langhelpers.py,sha256=LpOcovnhMnP45kTt8zNJ4BHpyQrlF40OL6yDXjqKtsE,10026
|
75
75
|
alembic/util/messaging.py,sha256=BxAHiJsYHBPb2m8zv4yaueSRAlVuYXWkRCeN02JXhqw,3250
|
76
76
|
alembic/util/pyfiles.py,sha256=zltVdcwEJJCPS2gHsQvkHkQakuF6wXiZ6zfwHbGNT0g,3489
|
77
77
|
alembic/util/sqla_compat.py,sha256=XMfZaLdbVbJoniNUyI3RUUXu4gCWljjVBbJ7db6vCgc,19526
|
78
|
-
alembic-1.
|
79
|
-
alembic-1.
|
80
|
-
alembic-1.
|
81
|
-
alembic-1.
|
82
|
-
alembic-1.
|
83
|
-
alembic-1.
|
78
|
+
alembic-1.14.1.dist-info/LICENSE,sha256=NeqcNBmyYfrxvkSMT0fZJVKBv2s2tf_qVQUiJ9S6VN4,1059
|
79
|
+
alembic-1.14.1.dist-info/METADATA,sha256=D5AHibKWuwgPf9ORQhNm0k_iTmpKrkDNF-MboIrflY8,7420
|
80
|
+
alembic-1.14.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
81
|
+
alembic-1.14.1.dist-info/entry_points.txt,sha256=aykM30soxwGN0pB7etLc1q0cHJbL9dy46RnK9VX4LLw,48
|
82
|
+
alembic-1.14.1.dist-info/top_level.txt,sha256=FwKWd5VsPFC8iQjpu1u9Cn-JnK3-V1RhUCmWqz1cl-s,8
|
83
|
+
alembic-1.14.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|