typeorm
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-TypeScriptのOR Mapper
*チート集 [#t0bdbe1d]
|SQL直実行|dataSource.query()|配列が戻り値|
|SQL直実行でバイド|dataSource.query("xxx = ?",[1])|PHPと...
|SQLに近いが独自|dataSource.createQueryBuilder(Entity).ge...
|カウント|dataSource.getRepository(Trips).count({ where: ...
|where条件直記載|dataSource.getRepository(PosRecords).cou...
**様々な条件 [#s3067be1]
|between|created: Between(start, end)|
|in|level: In([1, 2])|
*既存DBからEntity生成 [#i6414004]
https://www.npmjs.com/package/typeorm-model-generator
-entity生成
npx typeorm-model-generator
後はインタラクティブにMySQLを選べばOK!
npm typeorm-model-generator -h 127.0.0.1 -d <database> ...
*find/findBy [#t5d4fbd1]
findはrelationなどいろいろ設定できるにたいし、findByは条...
Oneはその1レコードバージョンでAndCountだと件数も取れる
|in条件|In(array)|
*参考サイト [#c238c89a]
**ManyToMany [#x42985f8]
https://zenn.dev/msksgm/articles/20211124-typeorm-many2many
自然に任せると勝手にテーブル推定してわけわからんので指定...
@ManyToMany(() => Prefecture)
@JoinTable({
name: "store_prefecture", // table name for the jun...
joinColumn: {
name: "store_id",
referencedColumnName: "id"
},
inverseJoinColumn: {
name: "prefecture_id",
referencedColumnName: "id"
}
})
*トラブルシューティング [#y7ce6745]
**migrationテーブル [#p8995ff9]
-一度でも実行するとmigrationsテーブルが作成される。
***すでにDBがあるのにmigrationsテーブルがない(または消し...
テーブルあるのに作ろうとしてエラー。
**migrationでdatetimeのデフォルト値エラー [#tbe63378]
-CURRENT_TIMESTAMP(6)が生成される。
create table test (`created` datetime(0) NOT NULL DEFAUL...
-CURRENT_TIMESTAMP()ならOK
create table test (`created` datetime(0) NOT NULL DEFAUL...
-同じ列の型がすべて揃ってないといけないので以下で解決
@UpdateDateColumn({ name: 'modified', type: 'datetime',...
終了行:
-TypeScriptのOR Mapper
*チート集 [#t0bdbe1d]
|SQL直実行|dataSource.query()|配列が戻り値|
|SQL直実行でバイド|dataSource.query("xxx = ?",[1])|PHPと...
|SQLに近いが独自|dataSource.createQueryBuilder(Entity).ge...
|カウント|dataSource.getRepository(Trips).count({ where: ...
|where条件直記載|dataSource.getRepository(PosRecords).cou...
**様々な条件 [#s3067be1]
|between|created: Between(start, end)|
|in|level: In([1, 2])|
*既存DBからEntity生成 [#i6414004]
https://www.npmjs.com/package/typeorm-model-generator
-entity生成
npx typeorm-model-generator
後はインタラクティブにMySQLを選べばOK!
npm typeorm-model-generator -h 127.0.0.1 -d <database> ...
*find/findBy [#t5d4fbd1]
findはrelationなどいろいろ設定できるにたいし、findByは条...
Oneはその1レコードバージョンでAndCountだと件数も取れる
|in条件|In(array)|
*参考サイト [#c238c89a]
**ManyToMany [#x42985f8]
https://zenn.dev/msksgm/articles/20211124-typeorm-many2many
自然に任せると勝手にテーブル推定してわけわからんので指定...
@ManyToMany(() => Prefecture)
@JoinTable({
name: "store_prefecture", // table name for the jun...
joinColumn: {
name: "store_id",
referencedColumnName: "id"
},
inverseJoinColumn: {
name: "prefecture_id",
referencedColumnName: "id"
}
})
*トラブルシューティング [#y7ce6745]
**migrationテーブル [#p8995ff9]
-一度でも実行するとmigrationsテーブルが作成される。
***すでにDBがあるのにmigrationsテーブルがない(または消し...
テーブルあるのに作ろうとしてエラー。
**migrationでdatetimeのデフォルト値エラー [#tbe63378]
-CURRENT_TIMESTAMP(6)が生成される。
create table test (`created` datetime(0) NOT NULL DEFAUL...
-CURRENT_TIMESTAMP()ならOK
create table test (`created` datetime(0) NOT NULL DEFAUL...
-同じ列の型がすべて揃ってないといけないので以下で解決
@UpdateDateColumn({ name: 'modified', type: 'datetime',...
ページ名: