Можно ли почистить и обновить клон БД после интеграционного теста? - PullRequest
0 голосов
/ 26 апреля 2019

Из-за моей ответственности, кто должен восстановить клон db после того, как сделан весь тестовый пример.

Я считаю, что в случае восстановления функция не работает или не завершена, или произошла ошибка.

Одним из решений, которое может справиться с этим делом, является использование запроса отбрасывания / клонирования [см. Код ниже].

Однако я новичок в PostgreSQL, поэтому мне нужно спросить: «Возможно ли с помощью этого решения выполнить запрос отбрасывания / клонирования для создания современной и чистой версии базы данных клонов?»


public void Query()
            {
                /*DROP CLONE DB IF EXIST*/
                connect("Server=***.***.*.*.*; Port=5432; User Id=Admin; Password=postgres; Database=clonedb","drop database IF EXISTS clonedb");
                /*CLONE REAL DB To Create an up-to-date and clean version of clone db*/             
                connect("Server=***.***.*.*.*; Port=5432; User Id=Admin; Password=postgres; Database=realdb","CREATE DATABASE clonedb WITH TEMPLATE realdb OWNER Admin;");

            }

            public void connect (string connectionString,string query)
            {

                try
                {
                    using(NpgsqlConnection conn = new NpgsqlConnection(connectionString))
                    {
                        conn.Open();
                        NpgsqlCommand cmd = new NpgsqlCommand(query, conn);
                        NpgsqlDataReader dr= cmd.ExecuteReader();
                        if (dr.Read())
                        {
                            Console.WriteLine("connection established");
                        }
                    dr.Close();
                    }

                }
                catch(Exception e)
                {
                    /*If NpgsqlConnection is failed , do something*/
                }


            }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...