Next | Query returned 35 messages, browsing 11 to 20 | Previous

History of commit frequency

CVS Commit History:


   2020-05-16 11:03:23 by Adam Ciarcinski | Files touched by this commit (11)
Log message:
fix pytest versioned dep.
   2020-05-16 10:47:10 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
py-alembic: pytest from versioned depends
   2020-05-16 10:45:23 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
py-alembic: pytest from versioned depends
   2020-04-10 10:02:04 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-alembic: updated to 1.4.2

1.4.2:
bug

[bug] [tests]

Fixed an issue that prevented the test suite from running with the recently \ 
released py.test 5.4.0.

[bug] [autogenerate] [mysql]

Fixed more false-positive failures produced by the new “compare type” logic \ 
first added in 605, particularly impacting MySQL string types regarding flags \ 
such as “charset” and “collation”.

[bug] [op directives] [oracle]

Fixed issue in Oracle backend where a table RENAME with a schema-qualified name \ 
would include the schema in the “to” portion, which is rejected by Oracle.

usecase

[usecase] [autogenerate]

Adjusted autogen comparison to accommodate for backends that support computed \ 
column reflection, dependent on SQLAlchemy version 1.3.16 or higher. This emits \ 
a warning if the SQL expression inside of a Computed value changes between the \ 
metadata and the database, as these expressions can’t be changed without \ 
dropping and recreating the column.

1.4.1
bug

[bug] [autogenerate]

Fixed regression caused by the new “type comparison” logic introduced in 1.4 \ 
as part of 605 where comparisons of MySQL “unsigned integer” datatypes would \ 
produce false positives, as the regular expression logic was not correctly \ 
parsing the “unsigned” token when MySQL’s default display width would be \ 
returned by the database. Pull request courtesy Paul Becotte.

[bug] [environment]

Error message for “path doesn’t exist” when loading up script environment \ 
now displays the absolute path. Pull request courtesy Rowan Hart.

[bug] [autogenerate]

Fixed regression in 1.4.0 due to 647 where unique constraint comparison with \ 
mixed case constraint names while not using a naming convention would produce \ 
false positives during autogenerate.

[bug] [environment]

The check for matched rowcount when the alembic_version table is updated or \ 
deleted from is now conditional based on whether or not the dialect supports the \ 
concept of “rowcount” for UPDATE or DELETE rows matched. Some third party \ 
dialects do not support this concept. Pull request courtesy Ke Zhu.

[bug] [operations]

Fixed long-standing bug where an inline column CHECK constraint would not be \ 
rendered within an “ADD COLUMN” operation. The DDL compiler is now consulted \ 
for inline constraints within the Operations.add_column() method as is done for \ 
regular CREATE TABLE operations.
   2020-02-16 22:11:41 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-alembic: updated to 1.4.0

1.4.0

[feature] [batch]

Added new parameters BatchOperations.add_column.insert_before, \ 
BatchOperations.add_column.insert_after which provide for establishing the \ 
specific position in which a new column should be placed. Also added \ 
Operations.batch_alter_table.partial_reordering which allows the complete set of \ 
columns to be reordered when the new table is created. Both operations apply \ 
only to when batch mode is recreating the whole table using \ 
recreate="always". Thanks to Marcin Szymanski for assistance with the \ 
implementation.

bug

[bug] [autogenerate]

Adjusted the unique constraint comparison logic in a similar manner as that of \ 
421 did for indexes in order to take into account SQLAlchemy’s own truncation \ 
of long constraint names when a naming convention is in use. Without this step, \ 
a name that is truncated by SQLAlchemy based on a unique constraint naming \ 
convention or hardcoded name will not compare properly.

[bug] [autogenerate]

A major rework of the “type comparison” logic is in place which changes the \ 
entire approach by which column datatypes are compared. Types are now compared \ 
based on the DDL string generated by the metadata type vs. the datatype \ 
reflected from the database. This means we compare types based on what would \ 
actually render and additionally if elements of the types change like string \ 
length, those changes are detected as well. False positives like those generated \ 
between SQLAlchemy Boolean and MySQL TINYINT should also be resolved. Thanks \ 
very much to Paul Becotte for lots of hard work and patience on this one.
   2019-12-03 19:21:15 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-alembic: updated to 1.3.1

1.3.1
bug
[bug] [mssql]
Fixed bug in MSSQL dialect where the drop constraint execution steps used to \ 
remove server default or implicit foreign key constraint failed to take into \ 
account the schema name of the target table.

1.3.0

feature
[feature] [command]
Added support for ALEMBIC_CONFIG environment variable, refers to the location of \ 
the alembic configuration script in lieu of using the -c command line option.

bug
[bug] [autogenerate]
Fixed bug in new Variant autogenerate where the order of the arguments to \ 
Variant were mistakenly reversed.

misc
[change] [compatibility]
Some internal modifications have been made to how the names of indexes and \ 
unique constraints work to make use of new functions added in SQLAlchemy 1.4, so \ 
that SQLAlchemy has more flexibility over how naming conventions may be applied \ 
to these objects.
   2019-10-10 20:26:53 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-alembic: updated to 1.2.1

1.2.1

bug

[bug] [command]

Reverted the name change of the “revisions” argument to command.stamp() to \ 
“revision” as apparently applications are calling upon this argument as a \ 
keyword name. Pull request courtesy Thomas Bechtold. Special translations are \ 
also added to the command line interface so that it is still known as \ 
“revisions” in the CLI.

[bug] [tests]

Removed the “test requirements” from “setup.py test”, as this command \ 
now only emits a removal error in any case and these requirements are unused.

1.2.0

feature

[feature] [command]

Added new --purge flag to the alembic stamp command, which will unconditionally \ 
erase the version table before stamping anything. This is useful for development \ 
where non-existent version identifiers might be left within the table. \ 
Additionally, alembic.stamp now supports a list of revision identifiers, which \ 
are intended to allow setting up muliple heads at once. Overall handling of \ 
version identifiers within the alembic.stamp command has been improved with many \ 
new tests and use cases added.

[feature] [runtime]

Added new feature MigrationContext.autocommit_block(), a special directive which \ 
will provide for a non-transactional block inside of a migration script. The \ 
feature requres that: the database driver (e.g. DBAPI) supports the AUTOCOMMIT \ 
isolation mode. The directive also necessarily needs to COMMIT the existing \ 
transaction in progress in order to enter autocommit mode.

[feature] [commands]

Added “post write hooks” to revision generation. These allow custom logic to \ 
run after a revision Python script is generated, typically for the purpose of \ 
running code formatters such as “Black” or “autopep8”, but may be used \ 
for any arbitrary post-render hook as well, including custom Python functions or \ 
scripts. The hooks are enabled by providing a [post_write_hooks] section in the \ 
alembic.ini file. A single hook is provided which runs an arbitrary Python \ 
executable on the newly generated revision script, which can be configured to \ 
run code formatters such as Black; full examples are included in the \ 
documentation.

[feature] [environment]

Added new flag --package to alembic init. For environments where the Alembic \ 
migration files and such are within the package tree and importable as modules, \ 
this flag can be specified which will add the additional __init__.py files in \ 
the version location and the environment location.
   2019-08-28 08:37:38 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-alembic: updated to 1.1.0

1.1.0:

bug

[bug] [commands]

Fixed bug where the double-percent logic applied to some dialects such as \ 
psycopg2 would be rendered in --sql mode, by allowing dialect options to be \ 
passed through to the dialect used to generate SQL and then providing \ 
paramstyle="named" so that percent signs need not be doubled. For \ 
users having this issue, existing env.py scripts need to add \ 
dialect_opts={"paramstyle": "named"} to their offline \ 
context.configure(). See the alembic/templates/generic/env.py template for an \ 
example.

[bug] [py3k]

Fixed use of the deprecated “imp” module, which is used to detect pep3147 \ 
availability as well as to locate .pyc files, which started emitting deprecation \ 
warnings during the test suite. The warnings were not being emitted earlier \ 
during the test suite, the change is possibly due to changes in py.test itself \ 
but this is not clear. The check for pep3147 is set to True for any Python \ 
version 3.5 or greater now and importlib is used when available. Note that some \ 
dependencies such as distutils may still be emitting this warning. Tests are \ 
adjusted to accommodate for dependencies that emit the warning as well.

[bug] [mysql]

Fixed issue where emitting a change of column name for MySQL did not preserve \ 
the column comment, even if it were specified as existing_comment.

[bug] [setup]

Removed the “python setup.py test” feature in favor of a straight run of \ 
“tox”. Per Pypa / pytest developers, “setup.py” commands are in general \ 
headed towards deprecation in favor of tox. The tox.ini script has been updated \ 
such that running “tox” with no arguments will perform a single run of the \ 
test suite against the default installed Python interpreter.

usecase

[usecase] [commands]

The “alembic init” command will now proceed if the target directory exists \ 
as long as it’s still empty. Previously, it would not proceed if the directory \ 
existed. The new behavior is modeled from what git does, to accommodate for \ 
container or other deployments where an Alembic target directory may need to be \ 
already mounted instead of being created with alembic init. Pull request \ 
courtesy Aviskar KC.

misc

[change]

Alembic 1.1 bumps the minimum version of SQLAlchemy to 1.1. As was the case \ 
before, Python requirements remain at Python 2.7, or in the 3.x series Python \ 
3.4.

[change] [internals]

The test suite for Alembic now makes use of SQLAlchemy’s testing framework \ 
directly. Previously, Alembic had its own version of this framework that was \ 
mostly copied from that of SQLAlchemy to enable testing with older SQLAlchemy \ 
versions. The majority of this code is now removed so that both projects can \ 
leverage improvements from a common testing framework.
   2019-07-03 22:24:24 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-alembic: updated to 1.0.11

version: 1.0.11

SQLite server default reflection will ensure parenthesis are surrounding a
column default expression that is detected as being a non-constant
expression, such as a datetime() default, to accommodate for the
requirement that SQL expressions have to be parenthesized when being sent
as DDL.  Parenthesis are not added to constant expressions to allow for
maximum cross-compatibility with other dialects and existing test suites
(such as Alembic's), which necessarily entails scanning the expression to
eliminate for constant numeric and string values. The logic is added to the
two "reflection->DDL round trip" paths which are currently \ 
autogenerate and
batch migration.  Within autogenerate, the logic is on the rendering side,
whereas in batch the logic is installed as a column reflection hook.

Improved SQLite server default comparison to accommodate for a text()
construct that added parenthesis directly vs. a construct that relied
upon the SQLAlchemy SQLite dialect to render the parenthesis, as well
as improved support for various forms of constant expressions such as
values that are quoted vs. non-quoted.

Fixed bug where the "literal_binds" flag was not being set when
autogenerate would create a server default value, meaning server default
comparisons would fail for functions that contained literal values.

Added support for MySQL "DROP CHECK", which is added as of MySQL 8.0.16,
separate from MariaDB's "DROP CONSTRAINT" for CHECK constraints.  The MySQL
Alembic implementation now checks for "MariaDB" in server_version_info to
decide which one to use.

Fixed issue where MySQL databases need to use CHANGE COLUMN when altering a
server default of CURRENT_TIMESTAMP, NOW() and probably other functions
that are only usable with DATETIME/TIMESTAMP columns.  While MariaDB
supports both CHANGE and ALTER COLUMN in this case, MySQL databases only
support CHANGE.  So the new logic is that if the server default change is
against a DateTime-oriented column, the CHANGE format is used
unconditionally, as in the vast majority of cases the server default is to
be CURRENT_TIMESTAMP which may also be potentially bundled with an "ON
UPDATE CURRENT_TIMESTAMP" directive, which SQLAlchemy does not currently
support as a distinct field.  The fix addiionally improves the server
default comparison logic when the "ON UPDATE" clause is present and
there are parenthesis to be adjusted for as is the case on some MariaDB
versions.

Warnings emitted by Alembic now include a default stack level of 2, and in
some cases it's set to 3, in order to help warnings indicate more closely
where they are originating from.  Pull request courtesy Ash Berlin-Taylor.

Replaced the Python compatbility routines for getargspec() with a fully
vendored version based on getfullargspec() from Python 3.3.
Originally, Python was emitting deprecation warnings for this function in
Python 3.8 alphas.  While this change was reverted, it was observed that
Python 3 implementations for getfullargspec() are an order of magnitude
slower as of the 3.4 series where it was rewritten against Signature.
While Python plans to improve upon this situation, SQLAlchemy projects for
now are using a simple replacement to avoid any future issues.
   2019-04-29 12:27:33 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-alembic: updated to 1.0.10

1.0.10
bug

[bug] [commands]

Fixed bug introduced in release 0.9.0 where the helptext for commands \ 
inadvertently got expanded to include function docstrings from the command.py \ 
module. The logic has been adjusted to only refer to the first line(s) preceding \ 
the first line break within each docstring, as was the original intent.

[bug] [mysql] [operations]

Added an assertion in RevisionMap.get_revisions() and other methods which \ 
ensures revision numbers are passed as strings or collections of strings. Driver \ 
issues particularly on MySQL may inadvertently be passing bytes here which leads \ 
to failures later on.

[bug] [autogenerate] [mysql]

Fixed bug when using the EnvironmentContext.configure.compare_server_default \ 
flag set to True where a server default that is introduced in the table metadata \ 
on an Integer column, where there is no existing server default in the database, \ 
would raise a TypeError.

1.0.9
bug

[bug] [operations]

Simplified the internal scheme used to generate the alembic.op namespace to no \ 
longer attempt to generate full method signatures (e.g. rather than generic \ 
*args, **kw) as this was not working in most cases anyway, while in rare \ 
circumstances it would in fact sporadically have access to the real argument \ 
names and then fail when generating the function due to missing symbols in the \ 
argument signature.

Next | Query returned 35 messages, browsing 11 to 20 | Previous