LeoVasanko
55fa475a13
Log new database creation, bootstrap like a transaction.
2026-06-20 18:15:08 +00:00
LeoVasanko
753b7eba86
Add separate migration logging, logmigr callback, and log= override
...
- Split transaction logger (kanta.changes) and migration logger (kanta.migrations).
- Migrations.apply() now returns MigrationResult instead of logging.
- Kanta.open() emits one info summary per DB and debug transaction per migration.
- Add open(log=...) to suppress/redirect default migration logging.
- Add @kanta.logmigr callback for custom migration logging/summaries.
- Add transaction(log=...) to suppress/redirect transaction logging.
- Update tests for the new MigrationResult API and logging behaviour.
2026-06-15 23:13:03 +00:00
LeoVasanko
42789e6619
Revised migration context: don't store changerecord unless something was changed, and always snapshot if and after changes done.
2026-06-15 22:14:03 +00:00
LeoVasanko
c4726e6728
Stricter versioning: always store migrate version record, file must be within versions included in migrations. Log only for migrations that made changes. Allow deleting older migration functions when no longer required.
2026-06-15 03:09:45 +00:00
LeoVasanko
66e92739ab
Refactor Migrations internals, add caching to avoid reloading per each Kanta instance. Naming changed from MigrationRegistry to Migration, module from migrate to kanta.migrations.
2026-06-15 01:12:42 +00:00
LeoVasanko
4dc2f0648e
Fix creation of new database, ensuring that a bootstrap record of the initial state is always written.
2026-06-15 00:27:49 +00:00
LeoVasanko
bec4635460
Add kanta.ctx SimpleNamespace for user variables. This is passed to migration functions if they take a second argument. Remove the old MigrationCtx system.
2026-06-14 19:54:23 +00:00
LeoVasanko
c04a245366
Add read only mode that doesn't use locking. Useful for inspection while the database is in use or when no changes are intended (except in RAM).
2026-06-14 19:35:06 +00:00
LeoVasanko
b501fcca86
Only Kanta exported at root, others available from submodules.
2026-06-13 21:26:35 +00:00
LeoVasanko
7e553bd868
Improved log formatting support by @kanta.logfmt, which replaces old resolver and user_display arguments (breaking change).
2026-06-13 21:22:05 +00:00
LeoVasanko
4db046d627
Implement proper bootstrap and fatal error handling via decorators. Breaks compatibility.
2026-06-13 02:53:09 +00:00
LeoVasanko
ebfed10f24
Proper ts/mtime setting and tracking. Added Kanta.mtime property for reading current change time.
2026-06-13 00:49:35 +00:00
LeoVasanko
c254970ae5
Initial commit
2026-06-12 19:15:46 +00:00