Select
⎯⎯ 要想赢,就一定不能怕输。不怕输,结果未必能赢。但是怕输,结果则一定是输。
sql转xorm
1582 | |
说 明
sql转xorm
功能介绍
1.支持多种数据库的建表 sql转xorm, 其中包含(pg、oracle、mysql)等数据库; 建表语句, 建表语句, 建表语句(重要的说3遍)
2.在转换 sql 的时候, 需要确认下是否需要切换处理类型, 暂时支持3种处理方式(normal, postgresql, oracle), 默认: normal.
说明: 不能在 sql 中包含注释内容(即: -- xxx
或 # xxx
); 只支持单个建表语句.
3.支持自定义过滤不需要的字段, 多个字段通过 , 隔开.
4.支持 tag 注入, 需要多个的时候通过 , 隔开
示例
mysql 建表语句
CREATE TABLE if not exists user (
id int NOT NULL AUTO_INCREMENT,
name varchar(10) NOT NULL COMMENT '姓名',
gender tinyint NOT NULL DEFAULT 0 COMMENT '性别 0-未知 1-男 2-女',
age int NOT NULL COMMENT '年龄',
created_date datetime DEFAULT CURRENT_TIMESTAMP,
updated_date datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
处理后
// Code generated by http://www.gotool.top
package model
import (
"time"
)
type User struct {
Id int32 `xorm:"pk autoincr not null int 'id'"`
Name string `xorm:"not null comment('姓名') varchar(10) 'name'"`
Gender int8 `xorm:"not null default 0 comment('性别 0-未知 1-男 2-女') tinyint 'gender'"`
Age int32 `xorm:"not null comment('年龄') int 'age'"`
CreatedDate time.Time `xorm:"default 'CURRENT_TIMESTAMP' datetime 'created_date'"`
UpdatedDate time.Time `xorm:"default 'CURRENT_TIMESTAMP' datetime 'updated_date'"`
}
func (u *User) TableName() string {
return "user"
}
pgsql 建表语句
CREATE TABLE if not exists user (
id character varying(32) NOT NULL DEFAULT sys_guid(),
name character varying(10) NOT NULL,
gender tinyint NOT NULL,
age tinyint NOT NULL,
created_date timestamp without time zone DEFAULT now(),
updated_date timestamp without time zone DEFAULT now(),
CONSTRAINT user_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE user IS '用户表';
COMMENT ON COLUMN user.id IS '主键';
COMMENT ON COLUMN user.name IS '姓名';
COMMENT ON COLUMN user.gender IS '性别 0-未知 1-男 2-女';
COMMENT ON COLUMN user.age IS '年龄';
COMMENT ON COLUMN user.created_date IS '创建时间';
COMMENT ON COLUMN user.updated_date IS '更新时间';
处理后
// Code generated by http://www.gotool.top
package model
import (
"time"
)
type User struct {
Id int32 `xorm:"pk autoincr not null int 'id'"`
Name string `xorm:"not null comment('姓名') varchar(10) 'name'"`
Gender int8 `xorm:"not null default 0 comment('性别 0-未知 1-男 2-女') tinyint 'gender'"`
Age int32 `xorm:"not null comment('年龄') int 'age'"`
CreatedDate time.Time `xorm:"default 'CURRENT_TIMESTAMP' datetime 'created_date'"`
UpdatedDate time.Time `xorm:"default 'CURRENT_TIMESTAMP' datetime 'updated_date'"`
}
func (u *User) TableName() string {
return "user"
}
oracle 建表语句
CREATE TABLE if not exists user (
id character varying(32) NOT NULL DEFAULT sys_guid(),
name character varying(10) NOT NULL,
gender tinyint NOT NULL,
age tinyint NOT NULL,
created_date date default sysdate,,
updated_date date default sysdate,,
CONSTRAINT user_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE user IS '用户表';
COMMENT ON COLUMN user.id IS '主键';
COMMENT ON COLUMN user.name IS '姓名';
COMMENT ON COLUMN user.gender IS '性别 0-未知 1-男 2-女';
COMMENT ON COLUMN user.age IS '年龄';
COMMENT ON COLUMN user.created_date IS '创建时间';
COMMENT ON COLUMN user.updated_date IS '更新时间';
处理后
// Code generated by http://www.gotool.top
package model
import (
"time"
)
type User struct {
Id int32 `xorm:"pk autoincr not null int 'id'"`
Name string `xorm:"not null comment('姓名') varchar(10) 'name'"`
Gender int8 `xorm:"not null default 0 comment('性别 0-未知 1-男 2-女') tinyint 'gender'"`
Age int32 `xorm:"not null comment('年龄') int 'age'"`
CreatedDate time.Time `xorm:"default 'CURRENT_TIMESTAMP' datetime 'created_date'"`
UpdatedDate time.Time `xorm:"default 'CURRENT_TIMESTAMP' datetime 'updated_date'"`
}
func (u *User) TableName() string {
return "user"
}