package jef.database.meta; import java.util.List; import java.util.Map; import jef.database.dialect.ColumnType; public interface DdlGenerator { // /////////////////////////////////////////////////////////////// /** * 转为建表语句 * * @param obj * @param tablename * @return */ TableCreateStatement toTableCreateClause(ITableMetadata obj, String tablename); /** * 转为索引语句 * * @param obj * @param tablename * @return */ List<String> toIndexClause(ITableMetadata obj, String tablename); /** * 生成Alter table 语句 * @return */ List<String> toTableModifyClause(ITableMetadata meta,String tableName, Map<String, ColumnType> insert, List<ColumnModification> changed, List<String> delete); /** * 生成 create view语句 * @return */ List<String> toViewCreateClause(); /** * 生成删除约束的语句 * @return */ String getDropConstraintSql(String tableName,String contraintName); }