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.
v0.5.0
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.
v0.4.3
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.
v0.4.2
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.
v0.4.1
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.
v0.4.0
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.
v0.3.0
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.
v0.2.0
2026-06-13 02:53:09 +00:00
LeoVasanko
acabc049e7
Fixed typing.
2026-06-13 00:59:18 +00:00
LeoVasanko
43f2cdbd53
Removed useless lock.
2026-06-13 00:55:05 +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
e8d123a748
Don't make package root a module (debug).
2026-06-13 00:31:07 +00:00
LeoVasanko
56b955cfdf
Fix imports
v0.1.1
2026-06-12 19:23:23 +00:00
LeoVasanko
c254970ae5
Initial commit
v0.1.0
2026-06-12 19:15:46 +00:00