コード例 #1
0
        protected override string CreateDropColumnQuery(MetaComparisonTableGroup tableGroup,
                                                        MetaComparisonColumnGroup columnGroup)
        {
            var metaTable  = (MetaTable)tableGroup.RequiredItem;
            var metaColumn = (MetaColumn)columnGroup.RequiredItem;

            var sb = new StringBuilder();

            sb.Append("ALTER TABLE [");
            sb.Append(metaTable.Name);
            sb.Append("] DROP COLUMN ");
            sb.Append(metaColumn.Name);
            sb.Append(" ");

            return(sb.ToString());
        }
コード例 #2
0
        protected override string CreateAlterColumnQuery(MetaComparisonTableGroup tableGroup,
                                                         MetaComparisonColumnGroup columnGroup)
        {
            var metaTable  = (MetaTable)tableGroup.RequiredItem;
            var metaColumn = (MetaColumn)columnGroup.RequiredItem;

            var sb = new StringBuilder();

            sb.Append("ALTER TABLE [");
            sb.Append(metaTable.Name);
            sb.Append("] ALTER ");
            sb.Append(metaColumn.Name);
            sb.Append(" ");
            sb.Append(" SET DATA TYPE ");
            if (metaColumn.ColumnType == ColumnType.Char ||
                metaColumn.ColumnType == ColumnType.Varchar)
            {
                sb.Append(MapColumnTypeToTypeName(metaColumn.ColumnType));
                sb.Append("(");
                sb.Append(metaColumn.Size);
                sb.Append(")");
            }
            else
            {
                sb.Append(MapColumnTypeToTypeName(metaColumn.ColumnType));
            }

            sb.Append(" DEFAULT ");
            if (!metaColumn.Null)
            {
                string defaultValue = GetDefaultValueForType(metaColumn.ColumnType);
                if (defaultValue != null)
                {
                    sb.Append(defaultValue);
                }
            }
            else
            {
                sb.Append("NULL");
            }

            sb.Append(" ");
            sb.Append(metaColumn.Null ? "" : "NOT NULL");
            sb.Append(" ");

            return(sb.ToString());
        }
コード例 #3
0
 protected abstract string CreateAlterColumnQuery(MetaComparisonTableGroup tableGroup, MetaComparisonColumnGroup columnGroup);
コード例 #4
0
 protected override string CreateDropColumnQuery(MetaComparisonTableGroup tableGroup,
                                                 MetaComparisonColumnGroup columnGroup)
 {
     //sql lite does not support this
     return(null);
 }