Skip to content

Graf-Research/adf-codegen-model-typeorm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypeORM - ADF Code Generator

Generator kode ADF untuk model TypeORM dalam format Typescript.

Modul ADF yang digunakan

Table Enum

Penggunaan CLI (Command Line)

npx @graf-research/adf-codegen-model-typeorm <file/url ADF> <folder output>

Instalasi

npm install --save @graf-research/adf-codegen-model-typeorm

Fungsi

import { Model } from "@graf-research/adf-core";

type MapModelNameFilePath = {[key: string]: string};

interface CodegenFileOutput {
  filename: string
  content: string
}

interface ItemOutput {
  files: CodegenFileOutput[]
  map: MapModelNameFilePath
}

interface Output {
  table: ItemOutput
  enum: ItemOutput
}

function TypeORMModel.compile(list_model: Model.Item[]): Output

Paduan TypeORM

Untuk menggunakan fitur auto generated-migration TypeORM konfigurasi antara data source harus sesuai. Pada generator ini kode yang di-generate akan muncul pada dua folder besar yaitu:

  • <folder output>/model/table/*.ts
  • <folder output>/model/enum/*.ts

Berikut salah satu contoh kofigurasi Data Source dan Script package.json

data-source.ts

import { DataSource, DataSourceOptions } from "typeorm";
 
const config: DataSourceOptions = {
  type: "postgres",
  host: 'localhost',
  port: 5432,
  username: '<username>',
  password: '<password>',
  database: '<database name>',
  synchronize: false,
  logging: false,
  migrations: [
    __dirname + '/migration/**.ts'
  ],
  entities: [
    __dirname + '/<folder output>/model/**/*.{ts,js}'
  ]
};

export const AppDataSource = new DataSource(config);

package.json

{
  ...
  "scripts": {
    ...
    "typeorm": "typeorm-ts-node-commonjs",
    "generate-migration": "npm run typeorm migration:generate -- $1 -d ./data-source.ts",
    "migrate": "npm run typeorm migration:run -- -d ./data-source.ts"
  },
  ...
}
Generate Migration

Untuk men-generate file migration TypeORM gunakan script generate-migration dengan output folder migration seperti konfigurasi pada data-source.ts, misalnya sebuah file migration dengan nama Init.ts:

npm run generate-migration migration/Init

akan menghasilkan file migration migration/Init.ts

Menjalankan Migration

Untuk menjalankan file migration TypeORM gunakan script migrate, contoh:

npm run migrate

akan mengeksekusi sql script dari file-file migration.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published