2022.5.12
2024.5.13
Tech
91
1 min
Step 1: 克隆项目
Step 2: 添加新的远程仓库
为了修改他人 Fork 的仓库,你需要将其添加到自己的远程仓库列表中
$ git remote add sirmin https://github.com/SirMin/shardingsphere.git
现在,当你执行 git remote -v 指令时,就可以看到他人 Fork 的仓库,出现在你的远程仓库列表中:
% git remote -v
origin https://github.com/tuichenchuxin/shardingsphere.git (fetch)
origin https://github.com/tuichenchuxin/shardingsphere.git (push)
sirmin https://github.com/SirMin/shardingsphere.git (fetch)
sirmin https://github.com/SirMin/shardingsphere.git (push)
upstream https://github.com/apache/shardingsphere.git (fetch)
upstream https://github.com/apache/shardingsphere.git (push)
Step 3: 拉取新的远程仓库
2022.4.25
2024.5.13
Tech
51
1 min
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run --privileged --restart=always --name oracle_11g -p 1521:1521 -d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker exec -it 容器ID /bin/bash
source /home/oracle/.bash_profile
sqlplus nologconnect as sysdba
1
2
3
4
create user oracle identified by oracle # 123 ;
alter user system identified by system ;
alter user system identified by 123456 ;
grant connect , resource , dba to oracle ;
参考:https://baijiahao.baidu.com/s?id=1709232831349390844&wfr=spider&for=pc
2022.4.25
2024.5.13
Tech
243
2 mins
Freemarker
freemarker 是一款开源的模版引擎,可以基于模版方便的生成结果。
https://freemarker.apache.org/
Freemarker 的使用
编写 ftl 模版
以生成 postgres 查询的 sql 语句为例
编写 delete.ftl 文件,${} 中的字段是参数
1
DROP TABLE IF EXISTS ${ schema } . ${ name } ;
当然实际使用中的模版可能复杂的多,以部分创建表模版为例
我们可以在模版中使用 import
引入其它模版
使用 assign
设置变量
使用 if
, list
等
使用 ??
判断是否为空,使用 !false
如果为空,默认 false
<#import "../../macro/constraints.ftl" as CONSTRAINTS>
<#assign with_clause = false>
<#if fillfactor!false || parallel_workers!false || toast_tuple_target!false || (autovacuum_custom!false && add_vacuum_settings_in_sql!false) || autovacuum_enabled == 't' || autovacuum_enabled == 'f' || (toast_autovacuum!false && add_vacuum_settings_in_sql!false) || toast_autovacuum_enabled == 't' || toast_autovacuum_enabled == 'f' >
<#assign with_clause = true>
</#if>
<#list columns as c >
其它模版使用可以参考 https://freemarker.apache.org/docs/dgui_template.html
2022.4.14
2024.5.13
Tech
46
1 min
下载源码
https://github.com/postgres/pgadmin4
安装环境
brew install node
brew install yarn
cd runtime
yarn install
node_modules/nw/nwjs/nwjs.app/Contents/MacOS/nwjs .
sudo mkdir "/var/log/pgadmin"
sudo chmod a+wrx "/var/log/pgadmin"
sudo mkdir "/var/lib/pgadmin"
sudo chmod a+wrx "/var/lib/pgadmin"
pip install --upgrade pip
pip install psycopg2-binary
make install-node
最后运行 pgAdmin4.py
过程中会有一些问题,参考 https://github.com/postgres/pgadmin4 readme. 和 stack overflow
2022.4.13
2024.5.13
Tech
2522
12 mins
PgAmdin4 展示 DDL 语句
通过 PgAdmin4 可以获取 table 的 DDL 语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- Table: public.t_order_0
-- DROP TABLE IF EXISTS public.t_order_0;
CREATE TABLE IF NOT EXISTS public . t_order_0
(
order_id integer NOT NULL ,
user_id integer NOT NULL ,
status character varying ( 45 ) COLLATE pg_catalog . "default" ,
CONSTRAINT t_order_0_pkey PRIMARY KEY ( order_id )
)
TABLESPACE pg_default ;
ALTER TABLE IF EXISTS public . t_order_0
OWNER to postgres ;
COMMENT ON TABLE public . t_order_0
IS 'haha' ;
COMMENT ON COLUMN public . t_order_0 . order_id
IS 'haha' ;
PgAdmin4 是如何展示对应的 DDL 语句的呢
https://github.com/postgres/pgadmin4
翻阅源码发现 DDL 语句的展示,主要是通过以下步骤来获取 SQL 语句的。