using System; using System.Data; using Migrator.Framework; using ForeignKeyConstraint=Migrator.Framework.ForeignKeyConstraint; using System.Collections.Generic; namespace Migrator.Providers { /// /// No Op (Null Object Pattern) implementation of the ITransformationProvider /// public class NoOpTransformationProvider : ITransformationProvider { public static readonly NoOpTransformationProvider Instance = new NoOpTransformationProvider(); private NoOpTransformationProvider() { } public virtual ILogger Logger { get { return null; } set { } } public Dialect Dialect { get { return null; } } public string[] GetTables() { return null; } public Column[] GetColumns(string table) { return null; } public Column GetColumnByName(string table, string column) { return null; } public void RemoveForeignKey(string table, string name) { // No Op } public void RemoveConstraint(string table, string name) { // No Op } public void RemoveIndex(string table, string name) { // No Op } public void AddTable(string name, params Column[] columns) { // No Op } public void AddTable(string name, string engine, params Column[] columns) { // No Op } public void RemoveTable(string name) { // No Op } public void RenameTable(string oldName, string newName) { // No Op } public void RenameColumn(string tableName, string oldColumnName, string newColumnName) { // No Op } public void AddColumn(string table, string sqlColumn) { // No Op } public void RemoveColumn(string table, string column) { // No Op } public bool ColumnExists(string table, string column) { return false; } public bool TableExists(string table) { return false; } public void AddColumn(string table, string column, DbType type, int size, ColumnProperty property, object defaultValue) { // No Op } public void AddColumn(string table, string column, DbType type) { // No Op } public void AddColumn(string table, string column, DbType type, object defaultValue) { // No Op } public void AddColumn(string table, string column, DbType type, int size) { // No Op } public void AddColumn(string table, string column, DbType type, ColumnProperty property) { // No Op } public void AddColumn(string table, string column, DbType type, int size, ColumnProperty property) { // No Op } public void AddIndex(string name, string table, params string[] columns) { //No Op } public void AddIndex(string name, string table, bool unique, params string[] columns) { //No Op } public void AddPrimaryKey(string name, string table, params string[] columns) { // No Op } public void GenerateForeignKey(string primaryTable, string primaryColumn, string refTable, string refColumn) { // No Op } public void GenerateForeignKey(string primaryTable, string[] primaryColumns, string refTable, string[] refColumns) { // No Op } public void GenerateForeignKey(string primaryTable, string primaryColumn, string refTable, string refColumn, ForeignKeyConstraint constraint) { // No Op } public void GenerateForeignKey(string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { // No Op } public void AddForeignKey(string name, string primaryTable, string primaryColumn, string refTable, string refColumn) { // No Op } public void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns) { // No Op } public void AddForeignKey(string name, string primaryTable, string primaryColumn, string refTable, string refColumn, ForeignKeyConstraint constraint) { // No Op } public void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { // No Op } public void AddUniqueConstraint(string name, string table, params string[] columns) { // No Op } public void AddCheckConstraint(string name, string table, string checkSql) { // No Op } public bool ConstraintExists(string table, string name) { return false; } public void ChangeColumn(string table, Column column) { // No Op } public bool PrimaryKeyExists(string table, string name) { return false; } public int ExecuteNonQuery(string sql) { return 0; } public IDataReader ExecuteQuery(string sql) { return null; } public object ExecuteScalar(string sql) { return null; } public IDataReader Select(string what, string from) { return null; } public IDataReader Select(string what, string from, string where) { return null; } public object SelectScalar(string what, string from) { return null; } public object SelectScalar(string what, string from, string where) { return null; } public int Update(string table, string[] columns, string[] columnValues) { return 0; } public int Update(string table, string[] columns, string[] columnValues, string where) { return 0; } public int Insert(string table, string[] columns, string[] columnValues) { return 0; } public int Delete(string table, string[] columns, string[] columnValues) { return 0; } public int Delete(string table, string column, string value) { return 0; } public void BeginTransaction() { // No Op } public void Rollback() { // No Op } public void Commit() { // No Op } public ITransformationProvider this[string provider] { get { return this; } } public void MigrationApplied(long version) { //no op } public void MigrationUnApplied(long version) { //no op } public List AppliedMigrations { get { return new List(); } } protected void CreateSchemaInfoTable() { } public void AddColumn(string table, Column column) { // No Op } public void GenerateForeignKey(string primaryTable, string refTable) { // No Op } public void GenerateForeignKey(string primaryTable, string refTable, ForeignKeyConstraint constraint) { // No Op } public IDbCommand GetCommand() { return null; } public void ExecuteSchemaBuilder(Migrator.Framework.SchemaBuilder.SchemaBuilder schemaBuilder) { // No Op } public void Dispose() { //No Op } } }