rebuild ddl each time it is needed