protected virtual IEnumerable <string> GenerateSql(IStructureSchema structureSchema, ModelTablesInfo modelInfo)
        {
            if (!modelInfo.Statuses.StructureTableExists)
            {
                yield return(StructuresDbSchemaBuilder.GenerateSql(structureSchema));
            }

            if (!modelInfo.Statuses.UniquesTableExists)
            {
                yield return(UniquesDbSchemaBuilder.GenerateSql(structureSchema));
            }

            if (!modelInfo.Statuses.IndexesTableStatuses.AllExists)
            {
                foreach (var sql in IndexesDbSchemaBuilder.GenerateSql(structureSchema, modelInfo.Names.IndexesTableNames, modelInfo.Statuses.IndexesTableStatuses))
                {
                    yield return(sql);
                }
            }
        }