add typorm migration
This commit is contained in:
parent
bcbfd8eac5
commit
f82202f973
@ -11,4 +11,4 @@ services:
|
|||||||
adminer:
|
adminer:
|
||||||
image: adminer
|
image: adminer
|
||||||
ports:
|
ports:
|
||||||
- 4302:8080
|
- "4302:8080"
|
||||||
@ -17,7 +17,10 @@
|
|||||||
"test:watch": "jest --watch",
|
"test:watch": "jest --watch",
|
||||||
"test:cov": "jest --coverage",
|
"test:cov": "jest --coverage",
|
||||||
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
||||||
"test:e2e": "jest --config ./test/jest-e2e.json"
|
"test:e2e": "jest --config ./test/jest-e2e.json",
|
||||||
|
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
|
||||||
|
"migration:generate": "npm run typeorm -- -d src/data-source.ts migration:generate src/migration/$npm_config_name",
|
||||||
|
"migration:run": "npm run typeorm -- -d src/data-source.ts migration:run"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nestjs/common": "^11.0.1",
|
"@nestjs/common": "^11.0.1",
|
||||||
|
|||||||
23
src/data-source.ts
Normal file
23
src/data-source.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import 'reflect-metadata';
|
||||||
|
import { DataSource } from 'typeorm';
|
||||||
|
import { User } from './entity/user';
|
||||||
|
|
||||||
|
import * as dotenv from 'dotenv';
|
||||||
|
|
||||||
|
dotenv.config();
|
||||||
|
|
||||||
|
export const AppDataSource = new DataSource({
|
||||||
|
type: 'postgres',
|
||||||
|
host: process.env.DATABASE_HOST,
|
||||||
|
port: parseInt(process.env.DATABASE_PORT as string, 10),
|
||||||
|
username: process.env.DATABASE_USER,
|
||||||
|
password: process.env.DATABASE_PASS,
|
||||||
|
database: process.env.DATABASE_NAME,
|
||||||
|
synchronize: false,
|
||||||
|
logging: false,
|
||||||
|
entities: [User],
|
||||||
|
migrations: [
|
||||||
|
'src/migration/**/*.ts'
|
||||||
|
],
|
||||||
|
subscribers: [],
|
||||||
|
});
|
||||||
16
src/entity/user.ts
Normal file
16
src/entity/user.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm"
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
export class User {
|
||||||
|
@PrimaryGeneratedColumn()
|
||||||
|
id: number
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
username: string
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
email: string
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
password: string
|
||||||
|
}
|
||||||
15
src/migration/1761571888108-add_user_table.ts
Normal file
15
src/migration/1761571888108-add_user_table.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { MigrationInterface, QueryRunner } from 'typeorm';
|
||||||
|
|
||||||
|
export class AddUserTable1761571888108 implements MigrationInterface {
|
||||||
|
name = 'AddUserTable1761571888108';
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(
|
||||||
|
`CREATE TABLE "user" ("id" SERIAL NOT NULL, "username" character varying NOT NULL, "email" character varying NOT NULL, "password" character varying NOT NULL, CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`DROP TABLE "user"`);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user