internal static string DropDatabaseScript(string databaseName, StoreItemCollection itemCollection) { EFOracleDdlBuilder oracleDdlBuilder = new EFOracleDdlBuilder(); foreach (EntityContainer entityContainer in itemCollection.GetItems <EntityContainer>()) { entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name)); foreach (EntitySet entitySet in (IEnumerable <EntitySet>)entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name))) { oracleDdlBuilder.AppendSql("drop table "); oracleDdlBuilder.AppendIdentifier(entitySet); oracleDdlBuilder.AppendSql(" cascade constraints \n\n"); oracleDdlBuilder.AppendSql("drop sequence "); oracleDdlBuilder.AppendIdentifier(EFOracleDdlBuilder.GetSchemaName(entitySet)); oracleDdlBuilder.AppendSql("."); string str = OracleMigrationSqlGenerator.SequencePrefix + OracleMigrationSqlGenerator.NameSeparator + EFOracleDdlBuilder.GetTableName(entitySet); if (Encoding.UTF8.GetByteCount(str) > OracleMigrationSqlGenerator.MaxIdentifierLengthBytes) { str = OracleMigrationSqlGenerator.DeriveObjectName((string)null, str, 30); } oracleDdlBuilder.AppendIdentifier(str); oracleDdlBuilder.AppendSql("\n\n"); } } oracleDdlBuilder.AppendSql("drop table "); oracleDdlBuilder.AppendIdentifier("__MigrationHistory"); oracleDdlBuilder.AppendSql(" cascade constraints \n\n"); oracleDdlBuilder.AppendSql("drop table "); oracleDdlBuilder.AppendIdentifier("EdmMetadata"); oracleDdlBuilder.AppendSql(" cascade constraints \n\n"); return(oracleDdlBuilder.stringBuilder.ToString()); }
internal static string CreateTableExistsScript(StoreItemCollection itemCollection, out int count) { int num = 0; EFOracleDdlBuilder oracleDdlBuilder = new EFOracleDdlBuilder(); oracleDdlBuilder.AppendSql("select count(*) from "); oracleDdlBuilder.AppendSql("all_tables"); oracleDdlBuilder.AppendSql(" where "); foreach (EntityContainer entityContainer in itemCollection.GetItems <EntityContainer>()) { entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name)); foreach (EntitySet entitySet in (IEnumerable <EntitySet>)entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name))) { string schemaName = EFOracleDdlBuilder.GetSchemaName(entitySet); ++num; if (num > 1) { oracleDdlBuilder.AppendSql(" or "); } oracleDdlBuilder.AppendSql("("); oracleDdlBuilder.AppendSql("owner="); if (entitySet.Name != "HistoryRow" || entitySet.Name == "HistoryRow" && schemaName != "dbo") { oracleDdlBuilder.AppendSql("'"); oracleDdlBuilder.AppendSql(schemaName); oracleDdlBuilder.AppendSql("'"); } else { oracleDdlBuilder.AppendSql("user"); } oracleDdlBuilder.AppendSql(" and "); oracleDdlBuilder.AppendSql("table_name="); oracleDdlBuilder.AppendSql("'"); oracleDdlBuilder.AppendSql(EFOracleDdlBuilder.GetTableName(entitySet)); oracleDdlBuilder.AppendSql("'"); oracleDdlBuilder.AppendSql(")"); } } count = num; return(oracleDdlBuilder.GetCommandText()); }