Exemplo n.º 1
0
        public void Generate_RevokeTablePermissionOperation_produce_valid_statement()
        {
            var operation    = new RevokeTablePermissionOperation("dbo.table", "user", TablePermission.Insert);
            var sqlGenerator = new ExtendedSqlServerMigrationSqlGenerator();

            var sql = sqlGenerator.Generate(new MigrationOperation[] { operation }, "2008").Join(ss => ss.Sql, Environment.NewLine);

            Assert.Contains("REVOKE INSERT ON dbo.table TO user", sql);
        }
        /// <summary>
        /// Generate a SQL to remove permission on a table for specified user
        /// </summary>
        /// <param name="removeTablePermissionOperation">The operation to produce sql for.</param>
        public virtual void Generate(RevokeTablePermissionOperation removeTablePermissionOperation)
        {
            using (var writer = Writer())
            {
                writer.WriteLine(
                    "REVOKE {0} ON {1} TO {2}",
                    removeTablePermissionOperation.Permission.ToString().ToUpper(),
                    removeTablePermissionOperation.Table,
                    removeTablePermissionOperation.User);

                this.Statement(writer);
            }
        }