Search code examples
mysqldateormnestjstypeorm

How can I create columns with type Date and type DateTime in nestjs with typeORM?


I am new with nestjs. How can I set columns that accepts Date format and dateTime format?

Not in both cases, the columns are two differents column, one accept Date and other dateTime.


Solution

  • You can see the docs here that explains the @Column decorator. In @Column there is an option called type -> here is where you specify which type of date you want to store for that specific column.

    More on column types here.

    For example (using PostgreSQL):

    @Column({ type: 'date' })
    date_only: string;
    
    @Column({ type: 'timestamptz' }) // Recommended
    date_time_with_timezone: Date;
    
    @Column({ type: 'timestamp' }) // Not recommended
    date_time_without_timezone: Date;
    

    Note that date_only is of type string. See this issue for more information.

    Moreover, automatic dates for certain events are possible: 

    @CreateDateColumn()
    created_at: Date; // Creation date
    
    @UpdateDateColumn()
    updated_at: Date; // Last updated date
    
    @DeleteDateColumn()
    deleted_at: Date; // Deletion date