Quantcast
Channel: Liquibase Forums
Viewing all articles
Browse latest Browse all 2993

I am trying to use liquibase to add members to a role

$
0
0
I am trying to use liquibase to add members to a role, but the SQL is different from SQL Server 2008 to 2012.

SQL Server 2008:

exec sp_addrolemember db_datareader, MYUSER 

SQL Server 2012:

ALTER ROLE db_datawriter ADD MEMBER MYUSER

The following SQL when run via liquibase against SQL Server 2012 works correctly, but when ran against SQL Server 2008 it fails and says:

Incorrect syntax near the keyword 'ADD'

Code:

DECLARE @ver nvarchar(50),
        @intVer int,
        @ver2008 int = 10

SET @ver = CAST(serverproperty('ProductVersion') AS nvarchar)
SET @intVer = CAST(SUBSTRING(@ver, 1, CHARINDEX('.', @ver) - 1) AS int)

IF (@intVer = @ver2008)
    exec sp_addrolemember db_datawriter, MYUSER
ELSE
    ALTER ROLE db_datawriter ADD MEMBER MYUSER;

Viewing all articles
Browse latest Browse all 2993

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>