protected override IEnumerable <Command> OnAlter(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context) { var otherGenerator = FindOtherChecked(targetMetadata.MetadataGenerators.GeneratorsByName, GeneratorName, "role"); if (EquatableHelper.PropertiesEqual(this, otherGenerator, EquatableProperties, nameof(GeneratorIncrement))) { yield return(new Command() .Append($"ALTER SEQUENCE {GeneratorName.AsSqlIndentifier()} INCREMENT BY {GeneratorIncrement}")); } else { throw new NotSupportedOnFirebirdException($"Altering sequence is not supported ({GeneratorName})."); } }
protected override IEnumerable <Command> OnCreate(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context) { var command = new Command(); command.Append($"CREATE SEQUENCE {GeneratorName.AsSqlIndentifier()}"); if (context.Settings.TargetVersion.AtLeast30()) { if (InitialValue != 0) { command.Append($" START WITH {InitialValue}"); } } yield return(command); }
protected override IEnumerable <Command> OnDrop(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context) { yield return(new Command() .Append($"DROP SEQUENCE {GeneratorName.AsSqlIndentifier()}")); }