Esempio n. 1
0
        public void ConnectTest()
        {
            var server = Utility.LoadServers("TestData/servers.yml")["pgsql"];
            var sql    = new PgSql(server, false);
            var res    = sql.Connect();

            Assert.True(res);
        }
Esempio n. 2
0
 public void Can_create_NpgsqlParameter()
 {
     Assert.That(PgSql.Param("p", 1).NpgsqlDbType, Is.EqualTo(NpgsqlDbType.Integer));
     Assert.That(PgSql.Param("p", "s").NpgsqlDbType, Is.EqualTo(NpgsqlDbType.Text));
     Assert.That(PgSql.Param("p", 'c').NpgsqlDbType, Is.EqualTo(NpgsqlDbType.Char));
     Assert.That(PgSql.Param("p", new [] { 1 }).NpgsqlDbType,
                 Is.EqualTo(NpgsqlDbType.Integer | NpgsqlDbType.Array));
 }
Esempio n. 3
0
        public void Run()
        {
            if (!_commandLine.Check())
            {
                OutPut?.Error(_commandLine.ErrorMessage);
                return;
            }

            foreach (var server in _commandLine.Servers)
            {
                IDb db = null;
                switch (server.Type)
                {
                case Define.DatabaseType.Mysql:
                    db = new Db.MySql(server, _commandLine.DryRun);
                    break;

                case Define.DatabaseType.Postgres:
                    db = new PgSql(server, _commandLine.DryRun);
                    break;

                case Define.DatabaseType.MsSql:
                    db = new MsSql(server, _commandLine.DryRun);
                    break;
                }

                switch (_commandLine.Command)
                {
                case Define.Command.Create:
                    Create(db);
                    break;

                case Define.Command.Diff:
                    Diff(db);
                    break;

                case Define.Command.Drop:
                    Drop(db);
                    break;

                case Define.Command.Extract:
                    Extract(server.Name, db);
                    break;

                case Define.Command.Query:
                    Query(db);
                    break;

                case Define.Command.Update:
                    Update(db);
                    break;

                case Define.Command.ReCreate:
                    ReCreate(db);
                    break;
                }
            }
        }
Esempio n. 4
0
        public void QueryTest()
        {
            var server = Utility.LoadServers("TestData/servers.yml")["pgsql"];
            var db     = Utility.LoadDataBase("TestData/pgsql.yml");

            var sql   = new PgSql(server, false);
            var res   = sql.Connect();
            var query = sql.Query(db);

            _output.WriteLine(query);
            Assert.False(string.IsNullOrWhiteSpace(query));
        }
Esempio n. 5
0
        public void Does_PgSqlArray()
        {
            Assert.That(PgSql.Array((string[])null), Is.EqualTo("ARRAY[]"));
            Assert.That(PgSql.Array(new string[0]), Is.EqualTo("ARRAY[]"));
            Assert.That(PgSql.Array(new int[0]), Is.EqualTo("ARRAY[]"));
            Assert.That(PgSql.Array(1, 2, 3), Is.EqualTo("ARRAY[1,2,3]"));
            Assert.That(PgSql.Array("A", "B", "C"), Is.EqualTo("ARRAY['A','B','C']"));
            Assert.That(PgSql.Array("A'B", "C\"D"), Is.EqualTo("ARRAY['A''B','C\"D']"));

            Assert.That(PgSql.Array(new string[0], nullIfEmpty: true), Is.EqualTo("null"));
            Assert.That(PgSql.Array(new[] { "A", "B", "C" }, nullIfEmpty: true), Is.EqualTo("ARRAY['A','B','C']"));
        }
Esempio n. 6
0
        public void ReCreateTest()
        {
            var server = Utility.LoadServers("TestData/servers.yml")["pgsql"];
            var db     = Utility.LoadDataBase("TestData/pgsql.yml");

            var sql = new PgSql(server, false);

            sql.Connect();
            var result = sql.ReCreate(db, false);

            _output.WriteLine(result.Query);
            Assert.True(result.Success);
        }
Esempio n. 7
0
        public void DiffTest()
        {
            var server = Utility.LoadServers("TestData/servers.yml")["pgsql"];
            var db     = Utility.LoadDataBase("TestData/pgsql.yml");


            var sql = new PgSql(server, false);
            var res = sql.Connect();

            sql.ReCreate(db, false);
            Utility.TrimDataBaseProperties(db);
            var diff = sql.Diff(db);

            Assert.False(diff.HasDiff);
        }
Esempio n. 8
0
        public void ExtractTest()
        {
            var server = Utility.LoadServers("TestData/servers.yml")["pgsql"];
            var db     = Utility.LoadDataBase("TestData/pgsql.yml");
            var sql    = new PgSql(server, false);
            var res    = sql.Connect();

            sql.ReCreate(db, false);

            var extract = sql.Extract();
            var yaml    = Utility.DataBaseToYaml(extract);

            _output.WriteLine(yaml);
            Assert.NotEmpty(db.Tables);
        }