使用Typescript映射数据库模式

时间:2013-10-02 06:07:30

标签: typescript database-schema

我有一个遗留数据库,我希望通过一个全新的API公开。

我需要将模型的字段名称从遗留数据库映射到我的新模型类。

我希望以类型安全的方式执行此操作,而不是仅使用容易出错的字符串映射字典。

// The new model.
class Patient {
  firstName: string
  lastName: string
  dateOfBirth: Date
}

var p: Patient;

legacyToNewModelMappings =
  "First Name": p.firstName
  "Family Name": p.familyName
  "DOB": p.dateOfBirth

这很好,因为如果我在新模型中更改字段,重构将很容易,如果出现问题,我会在IDE中收到警报。

但是我需要能够在两个模型之间来回映射。使用引用意味着我无法从旧数据库映射到新数据库。

我在Node.js中使用TypeScript。

我应该看看其他任何方法吗?

1 个答案:

答案 0 :(得分:1)

我试图理解你在这里要完成的事情,所以如果我错了,请纠正我。

您是否在一个模型上使用getter和setter来匹配两个数据库的字段名称属性?

class Patient {
    public firstName: string;
    public lastName: string;
    public dateOfBirth: Date;

    get "First Name" (): string {
        return this.firstName;
    }
    get "Family Name" (): string {
        return this.familyName;
    }
    get "DOB" (): Date {
        return this.dateOfBirth;
    }

    set "First Name" (value: string) {
        this.firstName = value;
    }
    set "Family Name" (value: string) {
        this.familyName = value;
    }
    set "DOB" (value: Date) {
        this.dateOfBirth = value;
    }
}