Specify Redactor config in migration is it possible to specify the Redactor config file when creating a Redactor field programmatically? 

I was hoping I could do something like the following but have had no success:

$bodyField = $fields&gt;createField([
    'type' =&gt; 'craft\\redactor\\Field',
    'groupId' =&gt; 1,
    'name' =&gt; 'Body',
    'handle' =&gt; 'body',
    'settings' =&gt; [
       'redactorConfig' =&gt; 'Simple.json'
    ]
]);

$fields-&gt;saveField($bodyField);
Maybe you should take a look what the function createField does

Creates a field with a given config.
return    craft\base\FieldInterface  The field

It only creates a PHP object but does not save the field at all.
Craft::$app-&gt;getFields()-&gt;saveField($field);

is what you want
This is what the FieldsController does to store a new field
public function actionSaveField()
{
    $this-&gt;requirePostRequest();

    $fieldsService = Craft::$app-&gt;getFields();
    $request = Craft::$app-&gt;getRequest();
    $type = $request-&gt;getRequiredBodyParam('type');

    $field = $fieldsService-&gt;createField([
        'type' =&gt; $type,
        'id' =&gt; $request-&gt;getBodyParam('fieldId'),
        'groupId' =&gt; $request-&gt;getRequiredBodyParam('group'),
        'name' =&gt; $request-&gt;getBodyParam('name'),
        'handle' =&gt; $request-&gt;getBodyParam('handle'),
        'instructions' =&gt; $request-&gt;getBodyParam('instructions'),
        'translationMethod' =&gt; $request-&gt;getBodyParam('translationMethod', Field::TRANSLATION_METHOD_NONE),
        'translationKeyFormat' =&gt; $request-&gt;getBodyParam('translationKeyFormat'),
        'settings' =&gt; $request-&gt;getBodyParam('types.'.$type),
    ]);

    if (!$fieldsService-&gt;saveField($field)) {
        Craft::$app-&gt;getSession()-&gt;setError(Craft::t('app', 'Couldn’t save field.'));

        // Send the field back to the template
        Craft::$app-&gt;getUrlManager()-&gt;setRouteParams([
            'field' =&gt; $field
        ]);

        return null;
    }

    Craft::$app-&gt;getSession()-&gt;setNotice(Craft::t('app', 'Field saved.'));

    return $this-&gt;redirectToPostedUrl($field);
}