mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Merge pull request #5548 from minglei84/1.9.x
Fixed [Default Value] And [DropForeignKeyCommand] For Mysql
This commit is contained in:
@@ -270,7 +270,9 @@ namespace Orchard.Data.Migration.Interpreters {
|
|||||||
|
|
||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
|
|
||||||
builder.AppendFormat("alter table {0} drop constraint {1}", _dialectLazy.Value.QuoteForTableName(PrefixTableName(command.SrcTable)), PrefixTableName(command.Name));
|
builder.Append("alter table ")
|
||||||
|
+ .Append(_dialectLazy.Value.QuoteForTableName(PrefixTableName(command.SrcTable)))
|
||||||
|
+ .Append(_dialectLazy.Value.GetDropForeignKeyConstraintString(PrefixTableName(command.Name)));
|
||||||
_sqlStatements.Add(builder.ToString());
|
_sqlStatements.Add(builder.ToString());
|
||||||
|
|
||||||
RunPendingStatements();
|
RunPendingStatements();
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using NHibernate.Dialect;
|
using NHibernate.Dialect;
|
||||||
@@ -34,6 +35,7 @@ namespace Orchard.Data.Migration.Interpreters {
|
|||||||
builder.AppendFormat("alter table {0} modify column {1} ",
|
builder.AppendFormat("alter table {0} modify column {1} ",
|
||||||
_dialectLazy.Value.QuoteForTableName(PrefixTableName(command.TableName)),
|
_dialectLazy.Value.QuoteForTableName(PrefixTableName(command.TableName)),
|
||||||
_dialectLazy.Value.QuoteForColumnName(command.ColumnName));
|
_dialectLazy.Value.QuoteForColumnName(command.ColumnName));
|
||||||
|
var initLength = builder.Length;
|
||||||
|
|
||||||
// type
|
// type
|
||||||
if (command.DbType != DbType.Object) {
|
if (command.DbType != DbType.Object) {
|
||||||
@@ -46,13 +48,31 @@ namespace Orchard.Data.Migration.Interpreters {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [default value]
|
// [default value]
|
||||||
|
var builder2 = new StringBuilder();
|
||||||
|
|
||||||
|
builder2.AppendFormat("alter table {0} alter column {1} ",
|
||||||
|
_dialectLazy.Value.QuoteForTableName(PrefixTableName(command.TableName)),
|
||||||
|
_dialectLazy.Value.QuoteForColumnName(command.ColumnName));
|
||||||
|
var initLength2 = builder2.Length;
|
||||||
|
|
||||||
if (command.Default != null) {
|
if (command.Default != null) {
|
||||||
builder.Append(" set default ").Append(DefaultDataMigrationInterpreter.ConvertToSqlValue(command.Default)).Append(" ");
|
builder2.Append(" set default ").Append(DefaultDataMigrationInterpreter.ConvertToSqlValue(command.Default)).Append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
return new [] {
|
// result
|
||||||
builder.ToString()
|
var result = new List<string>();
|
||||||
};
|
|
||||||
|
if (builder.Length > initLength)
|
||||||
|
{
|
||||||
|
result.Add(builder.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (builder2.Length > initLength2)
|
||||||
|
{
|
||||||
|
result.Add(builder2.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private string PrefixTableName(string tableName) {
|
private string PrefixTableName(string tableName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user