- Added new section on schema file organization, detailing principles and decision criteria for merging or separating table files.
- Updated file naming conventions for single and multi-table files, as well as helper utilities.
- Refactored import paths in various schema files to use the new `_columnHelpers` module instead of the deprecated `columnHelpers`.
- Removed obsolete `customSql.ts`, `columnHelpers.ts`, `messageFts.ts`, `tag.ts`, `entityTag.ts`, and other related files to streamline the codebase.
This refactor improves clarity in database schema management and aligns file organization with best practices.
- Add topicTable schema with group organization and pinning support
- Add messageTable schema with tree structure (adjacency list pattern)
- Add groupTable schema for organizing entities by type
- Add tagTable and entityTagTable schemas for tagging system
- Add FTS5 full-text search support for message content
- Update preferenceTable to use composite primary key (scope, key)
- Regenerate initial migration with all tables
Changes Summary
| Type | Files |
|-------------|---------------------------------------------------------------------|
| New schemas | topic.ts, message.ts, group.ts, tag.ts, entityTag.ts, messageFts.ts |
| Modified | preference.ts (index → composite PK) |
| Migration | Renamed 0000_solid_lord_hawal.sql → 0000_init.sql with all tables |
This is part of the data refactoring project - adding core user data table schemas.
This commit renames the data migration files for clarity, changing `dataMigrate.html` to `dataRefactorMigrate.html` and updating the corresponding service imports. It also enhances the migration logic by implementing a new `app_state` table structure and removing deprecated migration files, streamlining the overall migration process.