postgresql與typeorm使用經驗分享

2021-09-05 10:49:37 字數 2163 閱讀 6867

在建立postgresql的表時,定義陣列等字段時,根據陣列中的元素的型別可以在相應型別後新增乙個就可以了。但是在定義陣列物件或者json時,則需要json或者jsonb

eg:

#!/bin/bash

psql -u $ -d $ << "eosql"

create table page(

page_id varchar(36) primary key not null,

page_name varchar(255) not null,

status smallint not null default 0,

public_status smallint,

url varchar(255) not null,

preview_img varchar(255) not null,

creater_id varchar(36) not null,

category_ids varchar(255) not null,

tags varchar(255),

widgets json,

medias varchar(255),

contents varchar(255),

css_url varchar(255),

layout json,

create_at timestamptz,

update_at timestamptz);

eosql

當然在進行建立的時候,要把sql的格式進行相應的調整。

eg:sql

insert into page (page_id,page_name,status,public_status,url,preview_img,creater_id,category_ids,tags,widgets,medias,contents,css_url,layout,create_at,update_at) values ('0008',

'test4',

0,0,

'/test/testurl',

'test/img',

'0',

'','',

''::json,

'','',

'testcssurl',

'','2018/12/24',

'2018/12/24')

eg: typeorm呼叫時,手寫query,因為陣列和json在插入時的特殊性,所以要自己寫如create語句,createquerybulider無法滿足需要:

import  from 'typeorm';

@entityrepository()

class pagequeryrepository

async createpage(pagedata: pagerequest): promise

async updatepage(pagedata: pagerequest, pageid:string): promise

if (pagedata.status)

if (pagedata.publicstatus)

if (pagedata.url)

if (pagedata.previewimg)

if (pagedata.createrid)

if (pagedata.categoryids)

if (pagedata.tags)

if (pagedata.widgets)

if (pagedata.medias)

if (pagedata.contents)

if (pagedata.cssurl)

if (pagedata.layout)

if (pagedata.createat)

if (pagedata.updateat)

sql1 = sql1.slice(0, -1)

let sql: string = sql1 + ' where ' + sql2;

return await this.manager.query(sql, params);

}}object.seal(pagequeryrepository);

export default pagequeryrepository;

isinstance 與type 的區別

isinstance 與 type 區別 type 不會認為子類是一種父類型別,不考慮繼承關係。isinstance 會認為子類是一種父類型別,考慮繼承關係。如果要判斷兩個型別是否相同推薦使用 isinstance eg.isinstance isinstance true bool true is...

Class與Type的區別與聯絡

今天上 軟體方法學 許滿武老師提問 類與型別有什麼區別?眾座的回答皆不能令許老師滿意.下課後google了一篇文章,是在某人的blog裡頭的.文章結尾署名為 徐家福居然是徐先生寫的.為表敬仰之情,現抄錄如下 1 型別的概念 概念 型別刻劃了一組值及其上可施行的操作,可理解為值集和操作集構成的二元組。...

Postgresql 安裝與配置

2.安裝postgres sql l tar xvzf postgresql 8.4.0.tar.gz l configure prefix pgsql l make l make install l su postgres l source.bash profile l initdb e unic...