Exemplo n.º 1
0
        public virtual string Column(Column column, SqlOptions sql)
        {
            var line = $"{sql.IdentifieName(column.Name)} ";

            line += sql.CSharpTypeToSqlDataType(column.DataType, column.Size, column.Digits);
            line += column.NotNull ? " NOT NULL" : "";
            if (column.AutoIncrement)
            {
                line += " IDENTITY(1,1)";
            }
            else if (column.DefaultValue != null)
            {
                line += $" DEFAULT ";
                var obj = HandleObject(column.DefaultValue);
                if (obj is string s)
                {
                    line += $"'{s}'";
                }
                else
                {
                    line += obj.ToString();
                }
            }

            return(line);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Returns the <see cref="ColumnItem"/> as a string.
 /// </summary>
 public virtual string ToString(SqlOptions sql)
 {
     if (Name == "*")
     {
         return(Name);
     }
     return(sql.IdentifieName(Name));
 }
Exemplo n.º 3
0
        public virtual string Alter(Alter alter, SqlOptions sql)
        {
            var statement = $"ALTER TABLE {sql.IdentifieName(alter.Table)} ";

            switch (alter.WhatToModify)
            {
            case WhatToAlter.PrimaryKey:
                var columnPK = sql.IdentifieName(alter.Column);
                foreach (var c in alter.ExtraPrimaryKeyColumns)
                {
                    columnPK += $",{sql.IdentifieName(c)}";
                }
                statement += alter.AlterType == AlterType.Add
                        ? $"ADD CONSTRAINT {sql.SafeIdentifieName(alter.ConstraintName)} PRIMARY KEY ({columnPK})"
                        : $"DROP CONSTRAINT {sql.SafeIdentifieName(alter.ConstraintName)}";
                break;

            case WhatToAlter.ForeignKey:
                statement += alter.AlterType == AlterType.Add
                        ? $"ADD CONSTRAINT {sql.SafeIdentifieName(alter.ConstraintName)} FOREIGN KEY ({alter.Column}) REFERENCES " +
                             $"{sql.IdentifieName(alter.ReferencesTable)}({sql.IdentifieName(alter.ReferencesColumn)})"
                        : $"DROP CONSTRAINT {sql.SafeIdentifieName(alter.ConstraintName)}";
                break;

            case WhatToAlter.Unique:
                statement += alter.AlterType == AlterType.Add
                        ? $"ADD CONSTRAINT {sql.SafeIdentifieName(alter.ConstraintName)} UNIQUE ({alter.Column})"
                        : $"DROP CONSTRAINT {sql.SafeIdentifieName(alter.ConstraintName)}";
                break;

            case WhatToAlter.Column:
                switch (alter.AlterType)
                {
                case AlterType.Add:
                    statement += $"ADD {alter.NewColumnToAdd.ToString(sql)}";
                    break;

                case AlterType.Drop:
                    statement += $"DROP COLUMN {sql.IdentifieName(alter.Column)}";
                    break;

                case AlterType.Alter:
                    statement += $"ALTER COLUMN {sql.IdentifieName(alter.Column)} " +
                                 $"{sql.CSharpTypeToSqlDataType(alter.DataTypeToAlter, alter.DataTypeSizeToAlter, alter.DataTypeDigitsToAlter)}";
                    break;
                }
                break;
            }

            return(statement);
        }
Exemplo n.º 4
0
        public virtual string Column(Column column, SqlOptions sql)
        {
            var line = $"{sql.IdentifieName(column.Name)} ";

            line += sql.CSharpTypeToSqlDataType(column.DataType, column.Size, column.Digits);
            line += column.NotNull ? " NOT NULL" : "";
            if (column.AutoIncrement)
            {
                line += " AUTO_INCREMENT";
            }
            else if (column.DefaultValue != null)
            {
                line += $" DEFAULT {sql.CreateItemID(column.DefaultValue)}";
            }

            return(line);
        }