This commit is contained in:
@@ -657,6 +657,10 @@ public final class EntityInfo<T> {
|
|||||||
return sb;
|
return sb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getTableCopySQL(String newTable) {
|
||||||
|
return tablecopySQL.replace("${newtable}", newTable).replace("${oldtable}", table);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据主键值获取Entity的表名
|
* 根据主键值获取Entity的表名
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -97,11 +97,12 @@ public abstract class PoolSource<DBChannel> {
|
|||||||
this.props.setProperty(JDBC_CONTAIN_SQLTEMPLATE, "CHARINDEX(${column}, ${keystr}) > 0");
|
this.props.setProperty(JDBC_CONTAIN_SQLTEMPLATE, "CHARINDEX(${column}, ${keystr}) > 0");
|
||||||
this.props.setProperty(JDBC_NOTCONTAIN_SQLTEMPLATE, "CHARINDEX(${column}, ${keystr}) = 0");
|
this.props.setProperty(JDBC_NOTCONTAIN_SQLTEMPLATE, "CHARINDEX(${column}, ${keystr}) = 0");
|
||||||
} else if ("postgresql".equals(this.dbtype)) {
|
} else if ("postgresql".equals(this.dbtype)) {
|
||||||
if (!this.props.containsKey(JDBC_TABLECOPY_SQLTEMPLATE)) {
|
if (!this.props.containsKey(JDBC_TABLECOPY_SQLTEMPLATE)) { //注意:此语句复制表结构会导致默认值和主键信息的丢失
|
||||||
|
//注意:postgresql不支持跨库复制表结构
|
||||||
this.props.setProperty(JDBC_TABLECOPY_SQLTEMPLATE, "CREATE TABLE ${newtable} AS (SELECT * FROM ${oldtable} LIMIT 0)");
|
this.props.setProperty(JDBC_TABLECOPY_SQLTEMPLATE, "CREATE TABLE ${newtable} AS (SELECT * FROM ${oldtable} LIMIT 0)");
|
||||||
}
|
}
|
||||||
if (!this.props.containsKey(JDBC_TABLENOTEXIST_SQLSTATES)) {
|
if (!this.props.containsKey(JDBC_TABLENOTEXIST_SQLSTATES)) {
|
||||||
this.props.setProperty(JDBC_TABLENOTEXIST_SQLSTATES, "42P01");
|
this.props.setProperty(JDBC_TABLENOTEXIST_SQLSTATES, "42P01;3F000");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user