public IColumnsExpression Apply(IColumnsExpression expression)
        {
            foreach (ColumnDefinition columDefinition in expression.Columns)
            {
                columDefinition.Name = columDefinition.Name.ToSnakeCase();
            }

            return(expression);
        }
Example #2
0
        /// <inheritdoc />
        public IColumnsExpression Apply(IColumnsExpression expression)
        {
            foreach (var columnDefinition in expression.Columns)
            {
                if (columnDefinition.IsPrimaryKey && string.IsNullOrEmpty(columnDefinition.PrimaryKeyName))
                {
                    var tableName = string.IsNullOrEmpty(columnDefinition.TableName)
                        ? expression.TableName
                        : columnDefinition.TableName;
                    columnDefinition.PrimaryKeyName = GetPrimaryKeyName(tableName);
                }
            }

            return(expression);
        }
Example #3
0
        /// <summary>
        /// Applies a convention to a FluentMigrator.Expressions.IColumnsExpression
        /// </summary>
        /// <param name="expression">The expression this convention should be applied to</param>
        /// <returns>The same or a new expression. The underlying type must stay the same</returns>
        public IColumnsExpression Apply(IColumnsExpression expression)
        {
            var dataSettings = DataSettingsManager.LoadSettings();

            if (dataSettings.DataProvider == DataProviderType.PostgreSQL)
            {
                foreach (var columnDefinition in expression.Columns)
                {
                    if (columnDefinition.Type == System.Data.DbType.String)
                    {
                        columnDefinition.Type       = null;
                        columnDefinition.CustomType = "citext";
                    }
                }
            }

            return(expression);
        }