Daos.migration 如何实现生成一个ddl文本(不直接执行)
或者是否有一个拦截机制,可以拦截到 这个合并操作的所有sql,
因为正式上线的表可能很大,需要修改ddl或者分步执行。
解决了,
dao.setInterceptors(Arrays.asList(new DaoInterceptor() {
public void filter(DaoInterceptorChain chain) throws DaoException {
// 执行了哪些sql 收集起来
System.out.println("执行sql:" + chain.getDaoStatement().toPreparedStatement());
// 让sql不执行
chain.setExecutor(new DaoExecutor() {
@Override
public void exec(Connection conn, DaoStatement st) {
// System.out.println("执行sql:" + st.toPreparedStatement());
}
});
chain.doChain();
}
}, "catSql"));