private void initDataBase(boolean clearOldDateBase) throws SQLException {
		
		Statement s = null;
		
		try {
			s  = conn.createStatement();
			for (Class<?> daoClass : DaoClassList) {
				
				BaseDao<?> dao = (BaseDao<?>) daoClass.getField("manager").get(null);
				
				String sql = String.format(
						"SELECT COUNT(*) as CNT FROM sqlite_master where type='table' and name='%s';",
						dao.getTableName()
				);
				ResultSet rs = s.executeQuery(sql);
				rs.next();
				
				int tableCount = rs.getInt("CNT");
				
				if( tableCount > 0 && clearOldDateBase) {
					
					s.executeUpdate("drop table if exists "+dao.getTableName()+";");
					tableCount = 0;
				}
				
				if(tableCount == 0) {
					String sqlCreateTable = dao.createTableSql();
					String sqlCreateIndex = String.format(
							"CREATE UNIQUE INDEX %s ON %s (id)",
							dao.getTableName() + "_index",
							dao.getTableName()
					);
					printSql(sqlCreateTable);
					s.execute(sqlCreateTable);
					printSql(sqlCreateIndex);
					s.execute(sqlCreateIndex);
				}
			}
		} catch (Exception e) {
			throw new RuntimeException(e);
		} finally {
			s.close();
		}
	}