/// <summary> /// Visits the given <paramref name="executeNativeSqlNode"/>. /// </summary> /// <param name="executeNativeSqlNode"></param> public override void Visit(IExecuteNativeSqlNode executeNativeSqlNode) { IVersionNode versionNode = TraverseToParent<IVersionNode>(executeNativeSqlNode); string resourceName = MigrationMode == MigrationMode.Upgrade ? executeNativeSqlNode.UpgradeResource : executeNativeSqlNode.DowngradeResource; if(string.IsNullOrEmpty(resourceName)) return; string[] nativeSqlResources = MigrationMode == MigrationMode.Upgrade ? NativeSqlResourceProvider.GetUpgradeResources(Platform, resourceName, versionNode.Number) : NativeSqlResourceProvider.GetDowngradeResources(Platform, resourceName, versionNode.Number); if(nativeSqlResources == null || nativeSqlResources.Length == 0) return; StatementBatchWriter.EndBatch(); foreach(string nativeSqlResource in nativeSqlResources) { TextWriter.Write(nativeSqlResource); StatementBatchWriter.EndBatch(); } // foreach StatementBatchWriter.EndBatch(); }
/// <summary> /// Visits the given <paramref name="executeNativeSqlNode"/>. /// </summary> /// <param name="executeNativeSqlNode"></param> public override void Visit(IExecuteNativeSqlNode executeNativeSqlNode) { Visit(executeNativeSqlNode.ChildNodes); }
/// <summary> /// Visits the given <paramref name="executeNativeSqlNode"/>. /// </summary> /// <param name="executeNativeSqlNode"></param> public override void Visit(IExecuteNativeSqlNode executeNativeSqlNode) { if(executeNativeSqlNode.Properties[MdlSyntax.UpgradeResource] != null) executeNativeSqlNode.UpgradeResource = AstNodePropertyUtil.AsString(executeNativeSqlNode.Properties[MdlSyntax.UpgradeResource].Value); if(executeNativeSqlNode.Properties[MdlSyntax.DowngradeResource] != null) executeNativeSqlNode.DowngradeResource = AstNodePropertyUtil.AsString(executeNativeSqlNode.Properties[MdlSyntax.DowngradeResource].Value); }