private void CreateSchemaIfNotExists(System.Data.IDbConnection db)
        {
            const string createSchemaSQL = @"DO $$
BEGIN

    IF NOT EXISTS(
        SELECT schema_name
          FROM information_schema.schemata
          WHERE schema_name = 'TestSchema'
      )
    THEN
      EXECUTE 'CREATE SCHEMA ""TestSchema""';
    END IF;

END
$$;";
            db.ExecuteSql(createSchemaSQL);
        }
        private void CreateSchemaIfNotExists(System.Data.IDbConnection db)
        {
            const string createSchemaSQL = @"DO $$
BEGIN

    IF NOT EXISTS(
        SELECT 1
          FROM INFORMATION_SCHEMA.SCHEMATA
          WHERE SCHEMA_NAME = 'TestSchema'
      )
    THEN
      EXECUTE 'CREATE SCHEMA ""TestSchema""';
    END IF;

END
$$;";
            db.ExecuteSql(createSchemaSQL);
        }
        private void CreateSchemaIfNotExists(System.Data.IDbConnection db, string name)
        {
            string createSchemaSQL = @"DO $$
BEGIN

    IF NOT EXISTS(
        SELECT schema_name
          FROM information_schema.schemata
          WHERE schema_name = '{0}'
      )
    THEN
      EXECUTE 'CREATE SCHEMA ""{0}""';
    END IF;

END
$$;"
                .Fmt(name);
            db.ExecuteSql(createSchemaSQL);
        }
        private void CreateSchemaIfNotExists(System.Data.IDbConnection db, string name)
        {
            string createSchemaSQL = @"DO $$
BEGIN

    IF NOT EXISTS(
        SELECT 1
          FROM INFORMATION_SCHEMA.SCHEMATA
          WHERE SCHEMA_NAME = '{0}'
      )
    THEN
      EXECUTE 'CREATE SCHEMA ""{0}""';
    END IF;

END
$$;"
                .Fmt(name);
            db.ExecuteSql(createSchemaSQL);
        }
		public override void Drop(System.Data.IDbConnection connection)
		{
			connection.ExecuteSql(String.Format ("DROP VIEW {0}", Name.FullName));
		}
		public override void Drop(System.Data.IDbConnection connection)
		{
			connection.ExecuteSql(String.Format ("DROP SCHEMA {0}", Name.ObjectFormatted));
		}