| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Given by Abhilash Raj.
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
test suite.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
--------
* The ORM layer, previously implemented with Storm, has been replaced by
SQLAlchemy, thanks to the fantastic work by Abhilash Raj and Aurélien
Bompard. Alembic is now used for all database schema migrations.
* The new logger `mailman.database` logs any errors at the database layer.
API
---
* Several changes to the internal API:
- `IListManager.mailing_lists` is guaranteed to be sorted in List-ID order.
- `IDomains.mailing_lists` is guaranteed to be sorted in List-ID order.
- Iteration over domains via the `IDomainManager` is guaranteed to be sorted
by `IDomain.mail_host` order.
- `ITemporaryDatabase` interface and all implementations are removed.
|
| | | |
|
| | |\ |
|
| | | |\ |
|
| | | | | |
|
| | | |/
| |/| |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
* Fix a couple of typos.
* Make the script_location and alembic_scripts a resource paths.
|
| | |\| |
|
| | |/
| |
| |
| | |
* add a new method in base database to stamp with latest alembic version
|
| | | |
|
| | |
| |
| |
| |
| | |
nor do we need the TAG mechanism. We also don't need load_sql() or
load_migrations().
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
* add left out documentation
* remov super(<class>).__init__() calls in models
as it was useless now.
* remove schema_migrate func in mailman/database/base.py
|
| | |
| |
| |
| | |
* fix almost all the errors relating to doctests
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
* update some queries to match SA style
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
| |
* Rename StormBaseDatabase._create() -> .initialize()
* Refactor database initialization.
* make_listid() helper.
* Add a pivot() helper for schema migrations.
|
| | |
|
| |
|
|
| |
(LP: #975696)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
production database.
- Add an IDatabaseFactory interface with two named utility implementations.
The initialization subsystem will either ask for the 'testing' or
'production' factory utility depending on whether we're in the test suite or
not. The testing factory returns an IDatabase that can be _reset().
- initialize_2() now takes an optional `testing` argument, defaulting to
False. The test ConfigLayer will pass in True.
- Remove _reset() from the base database class.
- The ModelMeta now adds a PRESERVE attribute to database classes. This
defaults to False, meaning by default the test framework will reset the
table. The Version table is preserved because it records the schema
migrations.
- Because of the above, we no longer need to support pre_reset() and
post_reset() on migrations.
Also, bin/mailman should allow the standard configuration file search
algorithm to be used except when -C/--config is given.
|
| |
|
|
|
|
|
|
|
| |
- Improve migration logging
- Disable pre_reset() and post_reset() on migrations, which might need to be
re-enabled for SQLite support.
- Be sure to record the migration version in PostgreSQL.
- Parameterize the Error that will occur.
- Better sample data for PostgreSQL and SQLite, which have different formats.
|
| |
|
|
|
|
|
|
|
| |
- Refactor load_schema() into a separate load_sql() method.
- Add API for test suite to make a temporary database.
- Add code to migrate the PostgreSQL database.
- Comment out `moderation_callback` from the PostgreSQL SQL; this must have
snuck in accidentally via the contributed port.
- Refactor test_migrations.py
|
| |
|
|
|
|
|
| |
- migrations.rst needs to handle new standard migration
- Add ResetHelper() to refactor out common migration test cooperation.
- Handle temporary database.
- Fix some attribute names.
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
- Add explicit dependency on zope.event in setup.py.
- Use Python 3 compatible syntax for specifying that a class implements an
interface, i.e. the @implementer class decorator.
- print_function futures.
- Whitespace normalization.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can be tested separately.
- Add an `until` argument to load_migrations() so that we can load only up to
a given timestamp.
- In load_migrations(), ignore files in which the `version` part of the file
name is empty.
- In migrations.rst, use the new, better way of ensuring post-test cleanup.
- Add tests for partial upgrades.
- LP: #971013 - schema migrations for beta 2.
- LP: #967238 - IMailingList.archive + IMailingList.archive_private ->
IMailingList.archive_policy, and add ArchivePolicy enum.
- Move the `chdir` context manager to helpers.py and add `temporary_db`
context manager.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* Code cleanup (<> -> != ... sigh)
* Minor refactoring of database setup code so that touch() is moved to the
SQLiteDatabase class; it's not relevant for PostgreSQL.
|
| |
|
|
| |
primary key reset for PostgreSQL, fixing several tests.
|
| |
|
|
|
|
| |
in the database, namely strip out empty lines and comments first, otherwise
PostgreSQL spews "empty statement" errors at us.
- Down to 4 test failures.
|
|
|
#860159.
|