在建立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...