如何使用TypeORM在NestJS中创建Date和DateTime类型的列?
如果你在使用TypeORM和NestJS进行数据库开发,你可能会遇到需要创建Date和DateTime类型的列的情况。这里提供一些解决方法。
阅读更多:MySQL 教程
创建Date类型列
对于Date类型,我们可以使用TypeORM中的Date类型。在实体中使用以下代码:
在上面的代码中,我们在@Column装饰器中传入了{ type: 'date' }
参数,告诉TypeORM这是一个Date类型的列。
创建DateTime类型列
对于DateTime类型,我们使用TypeORM中的Timestamp类型。在实体中使用以下代码:
在上面的代码中,我们在@Column装饰器中传入了{ type: 'timestamp' }
参数,告诉TypeORM这是一个DateTime类型的列。
格式化
TypeORM中支持使用@Column装饰器的transformer
属性来自定义转换器,以便将JavaScript类型转换为数据库中的格式。例如,这里将Date类型列格式化为YYYY-MM-DD:
上述代码中,我们传入了一个转换器对象,这个对象包含了一个名为from
的函数和一个名为to
的函数。from
函数用于将值转换为JavaScript类型,to
函数用于将值转换为数据库中的格式。在上述代码中,我们将Date类型值转换为YYYY-MM-DD格式。
总结
在TypeORM和NestJS中,我们可以使用@Column装饰器创建Date和DateTime类型的列,并通过传入type参数来指定是哪种类型。我们还可以通过使用transformer属性来格式化这些列的值。