Exemple #1
0
 /// <summary>
 ///     Возваращает все скрипты для указанной позиции и языка в генерации
 /// </summary>
 /// <param name="dialect"></param>
 /// <param name="mode"></param>
 /// <param name="position"></param>
 /// <returns></returns>
 public IEnumerable <SqlScript> GetScripts(DbDialect dialect, ScriptMode mode, ScriptPosition position)
 {
     if (GenerationOptions.Supports(SqlObjectType.Script))
     {
         return(ExtendedScripts.SelectMany(_ => _.GetRealScripts(dialect, position, mode)));
     }
     return(new SqlScript[] {});
 }
Exemple #2
0
 private void SetupDefaultScripts()
 {
     if (GenerationOptions.IncludeDialect.HasFlag(DbDialect.SqlServer) && GenerationOptions.GenerateCreateScript)
     {
         if (GenerationOptions.Supports(SqlObjectType.FileGroup))
         {
             ExtendedScripts.Add(new SqlScript {
                 Name      = "sys:support_for_filegroups_begin",
                 Mode      = ScriptMode.Create,
                 DbDialect = DbDialect.SqlServer,
                 Position  = ScriptPosition.Before,
                 Text      = DefaultScripts.SqlServerCreatePeramble
             });
             ExtendedScripts.Add(new SqlScript {
                 Name      = "sys:support_for_filegroups_end",
                 Mode      = ScriptMode.Create,
                 DbDialect = DbDialect.SqlServer,
                 Position  = ScriptPosition.After,
                 Text      = DefaultScripts.SqlServerCreateFinisher
             });
         }
     }
     if (GenerationOptions.IncludeDialect.HasFlag(DbDialect.PostGres))
     {
         ExtendedScripts.Add(new SqlScript {
             Name      = "sys:psql_start",
             Mode      = ScriptMode.Create,
             DbDialect = DbDialect.PostGres,
             Position  = ScriptPosition.Before,
             Text      = DefaultScripts.PostgresqlPeramble
         });
         ExtendedScripts.Add(new SqlScript {
             Name      = "sys:psql_end",
             Mode      = ScriptMode.Create,
             DbDialect = DbDialect.PostGres,
             Position  = ScriptPosition.After,
             Text      = DefaultScripts.PostgresqlFinisher
         });
         ExtendedScripts.Add(new SqlScript {
             Name      = "sys:psql_start",
             Mode      = ScriptMode.Drop,
             DbDialect = DbDialect.PostGres,
             Position  = ScriptPosition.Before,
             Text      = DefaultScripts.PostgresqlPeramble
         });
         ExtendedScripts.Add(new SqlScript {
             Name      = "sys:psql_end",
             Mode      = ScriptMode.Drop,
             DbDialect = DbDialect.PostGres,
             Position  = ScriptPosition.After,
             Text      = DefaultScripts.PostgresqlFinisher
         });
     }
 }
Exemple #3
0
 /// <summary>
 /// </summary>
 public PersistentModel()
 {
     Classes            = new Dictionary <string, PersistentClass>();
     DatabaseSqlObjects = new List <SqlObject>();
     Errors             = new List <BSharpError>();
     ExtendedScripts    = new List <SqlScript>();
     TablePrototype     = "dbtable";
     TableAttribute     = "persistent";
     FileGroupPrototype = "filegroup";
     ScriptPrototype    = "dbscript";
     GenerationOptions  = new GenerationOptions();
 }
Exemple #4
0
 /// <summary>
 ///     Компилирует модель из кода B#
 /// </summary>
 /// <param name="options"></param>
 /// <param name="codeFiles"></param>
 /// <returns></returns>
 public static PersistentModel Compile(GenerationOptions options, params string[] codeFiles)
 {
     return(new PersistentModel {
         GenerationOptions = options
     }.Setup(BSharpCompiler.Compile(codeFiles)));
 }