Exemple #1
0
        private static void GenerateMigrationScript(AiwinsDocsDbContext dbContext)
        {
            if (File.Exists(ScriptFile))
            {
                File.Delete(ScriptFile);
            }

            Console.Write("\nGenerating migration scripts...");

            File.WriteAllText(ScriptFile, dbContext.Database.GenerateCreateScript());

            Console.Write("\nMigration script has been created to Script.txt file");
        }
Exemple #2
0
        private static void RunMigrations(string connectionString, AiwinsDocsDbContext dbContext)
        {
            Console.Write("\nThis program updates an existing database or creates a new one if not exists.\n" +
                          "The following connection string will be used:\n\n" +
                          connectionString + "\n\n" +
                          "Are you sure you want to run the migration? (y/n) ");

            if (Console.ReadKey().Key == ConsoleKey.Y)
            {
                Console.WriteLine("\n\nMigrating database...");

                try
                {
                    dbContext.Database.Migrate();

                    Console.WriteLine("Migration completed.");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);

                    while (ex.InnerException != null)
                    {
                        ex = ex.InnerException;
                        Console.WriteLine(ex.Message);
                    }

                    Console.Write("\nThere was problem while applying migrations. " +
                                  "Do you want to create the migration script? (y/n) ");

                    if (Console.ReadKey().Key == ConsoleKey.Y)
                    {
                        GenerateMigrationScript(dbContext);
                    }
                }
            }
        }