예제 #1
0
        public static void SerializeDatabase(Rubik.Database.Objects.Database db, string strFilePath)
        {
            Stream          sr        = File.Open(strFilePath, FileMode.Create);
            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(sr, db);
            sr.Close();
        }
예제 #2
0
 private void ExportTableSql()
 {
     if (db == null)
     {
         db = new Objects.Database()
         {
             ConnectionString = _exportParameters.ConnectionString
         };
         db.InitializeDatabase();
         db.DatabaseToSchema();
     }
     else
     {
         ExportTableObject();
     }
 }
예제 #3
0
 public Export(Objects.Database database)
 {
     db = database;
 }
예제 #4
0
        /// <summary>
        /// Compare To Database Schema
        /// Return missing database element to new Database Schema.
        /// </summary>
        /// <param name="sourceDb">Source Database Schema (rdb)</param>
        /// <param name="destination">Destination Database Schema (Real Database Instance) </param>
        /// <returns></returns>
        public static Database.Objects.Database CompareDataBase(Objects.Database sourceDb, Objects.Database destination)
        {
            Objects.Database resultDb = new Objects.Database();

            var tables = from p in sourceDb.Tables
                         where !destination.Tables.Contains(p)
                         select p;

            resultDb.Tables.AddRange(tables);

            return(resultDb);
        }
 private void CompareFunctions(Objects.Database schema, Objects.Database target, Objects.Database tempDatabase)
 {
     foreach (var func in schema.Functions)
     {
         var result = target.Functions.FirstOrDefault(p => p.Name == func.Name);
         if (result == null)
         {
             tempDatabase.Functions.Add(func);
         }
         else
         {
             if (func.SqlStatment != result.SqlStatment)
             {
                 LogManager.LogWriter.Warn(func.Name + " Fonksiyonun içeriği farklı yada farklı olabilir lütfen manual kontrol ediniz.");
                 //tempDatabase.Functions.Add(view);
             }
         }
     }
 }
 private void CompareTrigger(Objects.Database schema, Objects.Database target, Objects.Database tempDatabase)
 {
     foreach (var sqe in schema.Trigers)
     {
         var result = target.Trigers.FirstOrDefault(p => p.Name == sqe.Name);
         if (result == null)
         {
             tempDatabase.Trigers.Add(sqe);
         }
     }
 }