Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | tests: replace mock with stdlib unittest.mock | Olly Cope | 2022-10-02 | 5 | -7/+6 | |
| | ||||||
* | tests: drop tables created by tests that access a backend via a fixture | Olly Cope | 2022-10-03 | 1 | -2/+10 | |
| | | | | | I was seeing spurious test failures due to lack of teardown code. This is an unobtrusive fix for the problem. | |||||
* | tests: use freezegun instead of frozendate | Olly Cope | 2022-08-29 | 2 | -10/+6 | |
| | | | | | Recent versions of pyparsing seem to break frozendate. freezegun works smoothly and is maintained. | |||||
* | Fix linter errors | Olly Cope | 2022-10-03 | 2 | -4/+6 | |
| | ||||||
* | docs: fix sphinx configuration warning | Olly Cope | 2022-10-04 | 1 | -1/+1 | |
| | ||||||
* | setup: switch to attr: syntax for version specification | Olly Cope | 2022-10-05 | 2 | -26/+2 | |
| | ||||||
* | tox: fix linter confirmation and reinstate Python 3.7 | Olly Cope | 2022-10-05 | 2 | -7/+8 | |
| | ||||||
* | merge new toposort algorithm | Olly Cope | 2022-08-29 | 4 | -172/+180 | |
|\ | ||||||
| * | Reformat code with Black | Olly Cope | 2021-05-23 | 1 | -29/+12 | |
| | | ||||||
| * | topological sort: don't raise an error for non-existent dependencies | Olly Cope | 2021-05-16 | 1 | -1/+3 | |
| | | ||||||
| * | topological sort/tests: fix spurious error for edges that are not in input | Olly Cope | 2021-05-16 | 1 | -1/+4 | |
| | | ||||||
| * | topological sort: stricter typehints | Olly Cope | 2021-05-16 | 1 | -0/+1 | |
| | | ||||||
| * | topological sort/tests: simplify edge notation and invert sense | Olly Cope | 2021-05-16 | 1 | -21/+22 | |
| | | | | | | | | I find it less confusing to read "AB" as "A depends on B". | |||||
| * | topological sort: more fixes for cycle detection | Olly Cope | 2021-05-16 | 1 | -15/+18 | |
| | | ||||||
| * | topological sort: move tests into separate module | Olly Cope | 2021-05-16 | 2 | -90/+74 | |
| | | ||||||
| * | topological sort: raise CycleError if unsorted items remain at end | Olly Cope | 2021-05-15 | 1 | -6/+17 | |
| | | ||||||
| * | Use a priority queue to improve ordering of result | Olly Cope | 2021-05-15 | 1 | -8/+16 | |
| | | ||||||
| * | topological sort: add extra test assertion to ensure dependency order correct | Olly Cope | 2021-05-15 | 1 | -0/+2 | |
| | | ||||||
| * | topological sort: fix loop detection | Olly Cope | 2021-05-15 | 1 | -5/+16 | |
| | | ||||||
| * | topological sort: ensure dependency graph passed to topological_sort is valid | Olly Cope | 2021-05-15 | 1 | -1/+2 | |
| | | ||||||
| * | Add new topological sort algorithm | Olly Cope | 2021-05-15 | 2 | -69/+56 | |
| | | | | | | | | | | This algorithm is simpler and is designed to be better at maintaining the original sort order of the input migrations. | |||||
| * | topological sort: add test for sort stability | Olly Cope | 2021-05-02 | 1 | -1/+14 | |
| | | ||||||
* | | tox: add python 3.10, remove 3.6, 3.7 | Olly Cope | 2022-08-29 | 1 | -6/+4 | |
| | | ||||||
* | | Bump version number for dev | Olly Cope | 2021-05-23 | 1 | -1/+1 | |
| | | ||||||
* | | Added tag v7.3.2-release for changeset 97c69a15fd21 | Olly Cope | 2021-05-23 | 0 | -0/+0 | |
| | | ||||||
* | | Bump version number for releasev7.3.2-release | Olly Cope | 2021-05-23 | 1 | -1/+1 | |
| | | ||||||
* | | Mark changelog with release date for v7.3.2 | Olly Cope | 2021-05-23 | 1 | -2/+2 | |
| | | ||||||
* | | Update changelog | Olly Cope | 2021-05-23 | 1 | -0/+5 | |
| | | ||||||
* | | Fix access to StepCollector from imported yoyo.migrations.step | Olly Cope | 2021-05-23 | 1 | -15/+13 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://todo.sr.ht/~olly/yoyo/79 The old logic relied on a string comparison of the module path. This broke when Python's importlib switched to using absolute paths. It's safer to simply look for a ``__yoyo_collector__`` attribute in the caller frame's namespace, which is injected by Migration.load. I also chose to rename this attribute from 'collector' to __yoyo_collector__ to reduce the risk of collision with a user defined variable. | |||||
* | | Add test for reading migrations from a relative path | Olly Cope | 2021-05-23 | 1 | -0/+14 | |
| | | | | | | | | This fails in Python 3.8.10, see https://todo.sr.ht/~olly/yoyo/79 | |||||
* | | Reformatted source with black | Olly Cope | 2021-05-23 | 2 | -26/+15 | |
| | | ||||||
* | | Fix typo in error message | Olly Cope | 2021-05-23 | 1 | -1/+1 | |
|/ | ||||||
* | read_migrations: sort migrations when a glob pattern source is passed | Olly Cope | 2021-05-02 | 1 | -2/+2 | |
| | ||||||
* | Reformat source with Black | Olly Cope | 2021-05-02 | 1 | -55/+20 | |
| | ||||||
* | Support for snowflake connect parameters | Charles Julian Knight | 2021-04-07 | 1 | -1/+1 | |
| | | | | | | | | | | | | For the snowflake database, I ended up needing to configure the role option. This change passes all query options to 'snowflake.connector', allowing you to set any of the parameters snowflake supports. The full list is available here: https://docs.snowflake.com/en/user-guide/python-connector-api.html#connect Julian | |||||
* | Fix test failure with mysql backend | Olly Cope | 2021-04-06 | 1 | -1/+1 | |
| | ||||||
* | Fix mypy identified errors | Olly Cope | 2021-04-06 | 2 | -8/+8 | |
| | ||||||
* | Update changelog | Olly Cope | 2021-04-06 | 1 | -0/+8 | |
| | ||||||
* | tests: fix deadlocked test in postgresql | Olly Cope | 2021-01-24 | 1 | -0/+1 | |
| | ||||||
* | tests: refactor test fixtures to use `backend` pytest fixture | Olly Cope | 2021-01-24 | 2 | -80/+82 | |
| | | | | | | | Using the `backend` pytest fixture instead of calling `get_backend` removes the need to add cleanup code in each and every test. This has become necessary because sqlite3 connections have changed to use a shared cache, and so if the db is not cleaned up between tests we get spurious failures. | |||||
* | tests: replace `@with_migrations` decorator with equivalent context manager | Olly Cope | 2021-01-24 | 4 | -412/+416 | |
| | | | | | | | | | | | | | This has been causing problems because pytest fixtures don't work well with function decorators. If `with_migrations` doesn't correctly wrap the decorator using `functools.wraps`, pytest fixtures cannot be used by the decorated test function. But if we do use `functools.wraps`, pytest fixtures assumes the extra function argument is a fixture name and then fails either because it conflicts with the builtin `tmpdir` fixture or, if we rename it, because such a fixture doesn't exist. | |||||
* | tests: rename yoyo.tests.dburi to dburi_sqlite3 | Olly Cope | 2021-01-24 | 3 | -44/+45 | |
| | ||||||
* | Open sqlite3 connections using uri mode | Olly Cope | 2021-01-24 | 3 | -3/+5 | |
| | | | | | | | | | This appears to be the only way to pass additional options to sqlite3, including the ?cache=shared parameter. The previous changeset to enable cache sharing was broken, but appeared to work because sqlite3 interpreted ':memory:?cache=shared' as a file name, so the test suite was running against a file-backed database. | |||||
* | tests: remove accidentally duplicated test function | Olly Cope | 2021-01-24 | 1 | -15/+0 | |
| | ||||||
* | merge | Olly Cope | 2021-01-18 | 17 | -50/+283 | |
|\ | ||||||
| * | readme: remove note about repository migration | Olly Cope | 2021-01-18 | 1 | -2/+0 | |
| | | ||||||
| * | Bump version number for dev | Olly Cope | 2021-01-18 | 1 | -1/+1 | |
| | | ||||||
| * | Added tag v7.3.1-release for changeset 30068294eda6 | Olly Cope | 2021-01-18 | 0 | -0/+0 | |
| | | ||||||
| * | Bump version number for releasev7.3.1-release | Olly Cope | 2021-01-18 | 1 | -1/+1 | |
| | | ||||||
| * | Mark changelog with release date for v7.3.1 | Olly Cope | 2021-01-18 | 1 | -2/+2 | |
| | |