Currently, for every year a new database ('period') is created.
This has some shortcomings:
by default, databases are distinguished by the year only, not by topic/project. However projects might span more time than one year, and it still could be desired to have a single database
recurrent entries have to be copied each year (e.g. for rent) to the new period
analyzing database content of multiple years by e.g. filtering using the list command is impossible but helpful
Proposal:
Change terminology. Instead of 'period', use 'database' or the less technical 'record' (or 'project') 'pocket'. Reasoning: short CLI option remains unchanged (-p); term suits well into financing background
Change backend structure. By default, the backend only holds one 'main' database (of unlimited time). The client can add different databases (for e.g. different projects), and has to specify the target database (unless default) whenever issuing a command.
Provide migration functionality. The existing databases (i.e. per-year periods) have to be updated (change date fields from MM-DD to YYYY-MM-DD format) and combined. A migration command or script should be provided.
migration command in CLI: convert-periods-to-pocket
Currently, for every year a new database ('period') is created.
This has some shortcomings:
list
command is impossible but helpfulProposal:
'database' or the less technical 'record' (or 'project')'pocket'. Reasoning: short CLI option remains unchanged (-p
); term suits well into financing backgroundconvert-periods-to-pocket
copy
command