()
| 290 | } |
| 291 | |
| 292 | export default function migrate() { |
| 293 | // 数据库索引定义,每一次变动必须更新version |
| 294 | db.version(1).stores({ |
| 295 | scripts: "++id,&uuid,name,namespace,author,origin_domain,type,status,createtime,updatetime,checktime", |
| 296 | }); |
| 297 | db.version(2).stores({ |
| 298 | logger: "++id,level,origin,createtime", |
| 299 | permission: "++id,[scriptId+permission+permissionValue],createtime,updatetime", |
| 300 | }); |
| 301 | db.version(3).stores({ |
| 302 | logger: "++id,level,title,origin,createtime", |
| 303 | }); |
| 304 | db.version(4).stores({ |
| 305 | value: "++id,scriptId,namespace,key,createtime", |
| 306 | }); |
| 307 | db.version(5).stores({ |
| 308 | logger: "++id,level,origin,createtime,title,[origin+title],[level+origin+title]", |
| 309 | }); |
| 310 | db.version(6).stores({ |
| 311 | scripts: "++id,&uuid,name,namespace,author,origin_domain,type,status,runStatus,createtime,updatetime,checktime", |
| 312 | }); |
| 313 | db.version(7).stores({ |
| 314 | resource: "++id,&url,content,type,createtime,updatetime", |
| 315 | resourceLink: "++id,url,scriptId,createtime", |
| 316 | }); |
| 317 | db.version(8).stores({ |
| 318 | logger: "++id,level,origin,createtime", |
| 319 | }); |
| 320 | db.version(9).stores({ |
| 321 | logger: "++id,level,scriptId,origin,createtime", |
| 322 | }); |
| 323 | db.version(10) |
| 324 | .stores({ |
| 325 | scripts: |
| 326 | "++id,&uuid,name,namespace,author,origin_domain,type,sort,status,runStatus,createtime,updatetime,checktime", |
| 327 | }) |
| 328 | .upgrade((tx) => { |
| 329 | return tx |
| 330 | .table("scripts") |
| 331 | .toCollection() |
| 332 | .modify((script: Script) => { |
| 333 | script.sort = 0; |
| 334 | }); |
| 335 | }); |
| 336 | db.version(11).stores({ |
| 337 | export: "++id,&uuid,scriptId", |
| 338 | }); |
| 339 | db.version(12) |
| 340 | .stores({ |
| 341 | value: "++id,scriptId,storageName,key,createtime", |
| 342 | }) |
| 343 | .upgrade((tx) => { |
| 344 | return tx |
| 345 | .table("value") |
| 346 | .toCollection() |
| 347 | .modify((value) => { |
| 348 | if (value.namespace) { |
| 349 | value.storageName = value.namespace; |
no test coverage detected