feat: migrate legacy long-lived database records

This commit is contained in:
2026-07-27 01:12:00 +00:00
parent d8220a18b3
commit 89013272e1
39 changed files with 2495 additions and 124 deletions
+53 -8
View File
@@ -480,6 +480,34 @@ importers:
specifier: ^4.0.16
version: 4.0.16(@types/node@26.1.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)
tools/legacy-db-migration:
dependencies:
mariadb:
specifier: 3.5.3
version: 3.5.3
pg:
specifier: ^8.16.3
version: 8.16.3
devDependencies:
'@types/node':
specifier: ^26.1.1
version: 26.1.1
'@types/pg':
specifier: ^8.15.6
version: 8.16.0
tsdown:
specifier: ^0.22.14
version: 0.22.14(@volar/typescript@2.4.27)(tsx@4.21.0)(typescript@6.0.2)(unrun@0.2.22(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(synckit@0.11.13))(vue-tsc@3.2.2(typescript@6.0.2))
tsx:
specifier: ^4.20.6
version: 4.21.0
typescript:
specifier: 6.0.2
version: 6.0.2
vitest:
specifier: ^4.0.16
version: 4.0.16(@types/node@26.1.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)
packages:
'@babel/generator@7.28.5':
@@ -1981,6 +2009,9 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
'@types/geojson@7946.0.16':
resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
@@ -3043,8 +3074,8 @@ packages:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
iconv-lite@0.7.1:
resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==}
iconv-lite@0.7.3:
resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==}
engines: {node: '>=0.10.0'}
ignore@5.3.2:
@@ -3256,8 +3287,8 @@ packages:
long@5.3.2:
resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
lru-cache@11.2.5:
resolution: {integrity: sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==}
lru-cache@11.5.2:
resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==}
engines: {node: 20 || >=22}
lru-cache@6.0.0:
@@ -3275,6 +3306,10 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
mariadb@3.5.3:
resolution: {integrity: sha512-i053Kc0MgdUv/hu9mCyq67TYfPXFj3/MV8I7ZW5wvJNixIyXC0VztMPUjIVj/449nQo+BsxFD4Fdk/sA/uqKPQ==}
engines: {node: '>= 20.0.0'}
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
@@ -5601,6 +5636,8 @@ snapshots:
'@types/estree@1.0.8': {}
'@types/geojson@7946.0.16': {}
'@types/json-schema@7.0.15': {}
'@types/linkify-it@5.0.0': {}
@@ -6674,7 +6711,7 @@ snapshots:
dependencies:
safer-buffer: 2.1.2
iconv-lite@0.7.1:
iconv-lite@0.7.3:
dependencies:
safer-buffer: 2.1.2
@@ -6832,7 +6869,7 @@ snapshots:
long@5.3.2: {}
lru-cache@11.2.5: {}
lru-cache@11.5.2: {}
lru-cache@6.0.0:
dependencies:
@@ -6846,6 +6883,14 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
mariadb@3.5.3:
dependencies:
'@types/geojson': 7946.0.16
'@types/node': 26.1.1
denque: 2.1.0
iconv-lite: 0.7.3
lru-cache: 11.5.2
markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
@@ -6886,7 +6931,7 @@ snapshots:
aws-ssl-profiles: 1.1.2
denque: 2.1.0
generate-function: 2.3.1
iconv-lite: 0.7.1
iconv-lite: 0.7.3
long: 5.3.2
lru.min: 1.1.3
named-placeholders: 1.1.6
@@ -6991,7 +7036,7 @@ snapshots:
path-scurry@2.0.1:
dependencies:
lru-cache: 11.2.5
lru-cache: 11.5.2
minipass: 7.1.2
pathe@2.0.3: {}