DEV Community


Posted on

Migration - Module query with TypeORM version 0.3.x

Hi everyone!!

I like to use the library TypeORM •ᴗ••ᴗ••ᴗ••ᴗ•
As usual, When stating new project, i typically copy the database modules & config script migration from the old source. However, with TypeORM version 0.3.x, it doesn't seem to work. ¯_(ツ)/¯ ¯_(ツ)/¯ ¯_(ツ)_/¯
I have researched and felt confused while applying TypeORM to the project.

So, I want to share it with everyone.


New app with nestjs
Install yarn add mysql2 typeorm @nestjs/typeorm


Setup database module

├── src/
│   ├── database/
│   │   ├── migrations # This folder contains migrate file
│   │   ├── data-source-migration.ts # This file config run migration create, run, ...
│   │   └── database.module.ts # This file config query to database
│   └── app.module.ts
└── package.json
Enter fullscreen mode Exit fullscreen mode

Config package json file

"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli",
"migration:create": "yarn typeorm migration:create ./src/database/migrations/${name}",
"migration:create:window": "yarn typeorm migration:create ./src/database/migrations/%name%",
"migration:run": "yarn typeorm -- --dataSource=./src/database/data-source-migration.ts migration:run",
"migration:revert": "yarn typeorm -- --dataSource=./src/database/data-source-migration.ts migration:revert",
Enter fullscreen mode Exit fullscreen mode

File name format
This format would help you and the team quickly understand what someone has edited.
Please provide feedback on this format for me.

- Create: create-{table-name}-table
- Modify > 1: modify-{modify-name}-{table-name}-table
- Modify = 1: add-{field-name}-{table-name}-table
- Modify = 1: update-{field-name}-{table-name}-table
- Modify = 1: delete-{field-name}-{table-name}-table
Enter fullscreen mode Exit fullscreen mode

Short script

Create table post name=create-post-table yarn migration:create
Run migration yarn migration:run

Top comments (2)

lucdticdvn profile image

I feel that this world is wonderful when there are people like you. I am so happy to read these heartfelt shares. Thank you.

trantn profile image

thank you @lucdticdvn