GoEddie / DeploymentContributorFilterer

MIT License
69 stars 34 forks source link

IgnoreSchema and Role permissions #12

Open YanumVlad opened 5 years ago

YanumVlad commented 5 years ago

Team,

I try to create role and the corresponding permissions within DACPAC. CREATE ROLE [eComExtractor] AUTHORIZATION [db_owner]; GO GRANT EXECUTE ON SCHEMA :: eCom TO [eComExtractor]; GO

Role object and the corresponding permissions are not schema specific. However, the next settings for Deployment Contributor exclude Permission creation: SqlPackageFilter1=IgnoreSchema(dbo);

I looked into source code, log output abd found the next: Step removed from deployment by SqlPackageFilter, object: [Grant.Execute.Schema].[eComExtractor].[dbo].[eCom], step type: Create

Issue is in the next place: public static class ObjectNameParser { //get the schema - basically it needs to have at least two parts, maybe return enum public static string GetSchemaName(this ObjectIdentifier src, ModelTypeClass type) { return type == ModelSchema.Schema ? src.Parts.Last() : src.Parts.Count > 1 ? src.Parts[src.Parts.Count - (type == ModelSchema.Index ? 3 : 2)] : null; } }

Could you please fix it?

P.S. I really like your tool, glad to find it :)