Migrator.Providers
Defines the implementations specific details for a particular database.
Subclasses register a typename for the given type code and maximum
column length. $l in the type name will be replaced by the column
length (if appropriate)
The typecode
Maximum length of database type
The database type name
Suclasses register a typename for the given type code. $l in the
typename will be replaced by the column length (if appropriate).
The typecode
The database type name
Get the name of the database type associated with the given
The DbType
The database type name used by ddl.
Get the name of the database type associated with the given
The DbType
The database type name used by ddl.
Get the name of the database type associated with the given
The DbType
The database type name used by ddl.
Subclasses register which DbTypes are unsigned-compatible (ie, available in signed and unsigned variants)
Determine if a particular database type has an unsigned variant
The DbType
True if the database type has an unsigned variant, otherwise false
Migration transformations provider for Microsoft SQL Server Compact Edition.
Migration transformations provider for Microsoft SQL Server.
Base class for every transformation providers.
A 'tranformation' is an operation that modifies the database.
Add a new table
Table name
Columns
Adds the Test table with two columns:
Database.AddTable("Test",
new Column("Id", typeof(int), ColumnProperty.PrimaryKey),
new Column("Title", typeof(string), 100)
);
Add a new table
Table name
Columns
the database storage engine to use
Adds the Test table with two columns:
Database.AddTable("Test", "INNODB",
new Column("Id", typeof(int), ColumnProperty.PrimaryKey),
new Column("Title", typeof(string), 100)
);
Add a new column to an existing table.
Table to which to add the column
Column name
Date type of the column
Max length of the column
Properties of the column, see ColumnProperty,
Default value
AddColumn(string, string, Type, int, ColumnProperty, object)
AddColumn(string, string, Type, int, ColumnProperty, object)
AddColumn(string, string, Type, int, ColumnProperty, object)
AddColumn(string, string, Type, int, ColumnProperty, object)
Append a primary key to a table.
Constraint name
Table name
Primary column names
Guesses the name of the foreign key and add it
Guesses the name of the foreign key and add it
Guesses the name of the foreign key and add it
Guesses the name of the foreign key and add it
Append a foreign key (relation) between two tables.
tables.
Constraint name
Table name containing the primary key
Primary key column name
Foreign table name
Foreign column name
AddForeignKey(string, string, string, string, string)
Determines if a constraint exists.
Constraint name
Table owning the constraint
true if the constraint exists.
Execute an SQL query returning results.
The SQL command.
A data iterator, IDataReader.
Starts a transaction. Called by the migration mediator.
Rollback the current migration. Called by the migration mediator.
Commit the current transaction. Called by the migrations mediator.
Marks a Migration version number as having been applied
The version number of the migration that was applied
Marks a Migration version number as having been rolled back from the database
The version number of the migration that was removed
Returns the event logger
The list of Migrations currently applied to the database.
No Op (Null Object Pattern) implementation of the ITransformationProvider
This is basically a just a helper base class
per-database implementors may want to override ColumnSql
The SQL type
The name of the column
the type of the column
Sql if This column is Indexed
Sql if this column has a default value
The sql for this column, override in database-specific implementation classes
This class maps a DbType to names.
Associations may be marked with a capacity. Calling the Get()
method with a type and actual size n will return the associated
name with smallest capacity >= n, if available and an unmarked
default type otherwise.
Eg, setting
Names.Put(DbType, "TEXT" );
Names.Put(DbType, 255, "VARCHAR($l)" );
Names.Put(DbType, 65534, "LONGVARCHAR($l)" );
will give you back the following:
Names.Get(DbType) // --> "TEXT" (default)
Names.Get(DbType,100) // --> "VARCHAR(100)" (100 is in [0:255])
Names.Get(DbType,1000) // --> "LONGVARCHAR(1000)" (100 is in [256:65534])
Names.Get(DbType,100000) // --> "TEXT" (default)
On the other hand, simply putting
Names.Put(DbType, "VARCHAR($l)" );
would result in
Names.Get(DbType) // --> "VARCHAR($l)" (will cause trouble)
Names.Get(DbType,100) // --> "VARCHAR(100)"
Names.Get(DbType,1000) // --> "VARCHAR(1000)"
Names.Get(DbType,10000) // --> "VARCHAR(10000)"
Get default type name for specified type
the type key
the default type name associated with the specified key
Get the type name specified type and size
the type key
the SQL length
the SQL scale
the SQL precision
The associated name with smallest capacity >= size if available and the
default type name otherwise
Set a type name for specified type key and capacity
the type key
the (maximum) type size/length
The associated name
Migration transformations provider for PostgreSql (using NPGSql .Net driver)
Summary description for MySqlTransformationProvider.
Summary description for SQLiteTransformationProvider.
Turn something like 'columnName INTEGER NOT NULL' into just 'columnName'
Name is the first value before the space.