chore: migrate remaining ECharts components to Chart.js
- Migrated 4 components from ECharts to Chart.js: * MonthlyExpenseCard.vue (折线图) * DailyTrendChart.vue (双系列折线图) * ExpenseCategoryCard.vue (环形图) * BudgetChartAnalysis.vue (仪表盘 + 多种图表) - Removed all ECharts imports and environment variable switches - Unified all charts to use BaseChart.vue component - Build verified: pnpm build success ✓ - No echarts imports remaining ✓ Refs: openspec/changes/migrate-remaining-echarts-to-chartjs
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
-- 数据库迁移:为TransactionCategory表添加IconKeywords字段
|
||||
-- 修改Icon字段长度限制
|
||||
|
||||
-- 步骤1:修改Icon字段长度限制(如果字段已存在且长度为-1)
|
||||
-- SQLite不支持直接修改字段长度,需要重建表或使用其他方法
|
||||
-- 由于这是SQLite,我们假设Icon字段已存在,只需添加IconKeywords字段
|
||||
|
||||
-- 步骤2:添加IconKeywords字段
|
||||
ALTER TABLE TransactionCategory ADD COLUMN IconKeywords TEXT;
|
||||
|
||||
-- 验证
|
||||
-- PRAGMA table_info(TransactionCategory);
|
||||
38
Database/Migrations/DatabaseMigrator.cs
Normal file
38
Database/Migrations/DatabaseMigrator.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
namespace Database.Migrations;
|
||||
|
||||
/// <summary>
|
||||
/// 数据库迁移工具
|
||||
/// </summary>
|
||||
public class DatabaseMigrator
|
||||
{
|
||||
/// <summary>
|
||||
/// 执行数据库迁移SQL脚本
|
||||
/// </summary>
|
||||
public static string GetMigrationScript()
|
||||
{
|
||||
return """
|
||||
-- 数据库迁移:为TransactionCategory表添加IconKeywords字段
|
||||
-- 检查IconKeywords字段是否已存在
|
||||
|
||||
-- 如果字段不存在,则添加
|
||||
-- SQLite在尝试添加已存在的列时会报错,所以我们需要先检查
|
||||
-- 由于SQLite不支持IF NOT EXISTS语法用于ALTER TABLE,
|
||||
-- 我们可以尝试执行并捕获错误
|
||||
""";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取修改Icon字段长度的脚本
|
||||
/// </summary>
|
||||
public static string GetIconFieldLengthMigrationScript()
|
||||
{
|
||||
return """
|
||||
-- SQLite不支持直接修改字段长度
|
||||
-- 对于现有数据,我们需要确保Icon字段可以存储Iconify标识符(通常50个字符以内)
|
||||
-- 如果Icon字段存储的是旧的SVG JSON数组,这些数据可能超过50字符
|
||||
-- 需要的数据迁移逻辑在应用层处理:
|
||||
-- 1. 清空所有分类的Icon字段(因为旧数据格式不再兼容)
|
||||
-- 2. 重新通过IconSearchService为分类生成图标
|
||||
""";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user