DEV Community

Aidan
Aidan

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.

Prepare:

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


Repository
https://bitbucket.org/main-28/typeorm-migration-0.3/src/main/


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)

Collapse
 
lucdticdvn profile image
lucdticd-vn

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

Collapse
 
trantn profile image
Aidan

thank you @lucdticdvn