
Una herramienta en exceso útil es la posibilidad de modificar valores de la base de datos, ya sea insertando nuevos o modificando existentes.
Para esto se utilizan los data scripts, los cuales son muy similares a los scripts que modifican la estrucutra de base de datos.
Dentro del directorio Setup de nuestro módulo vamos a crear nuestro instalador de datos. Esto lo haremos con el archivo InstallData.php.
Continuando con los ejemplos del módulo Barbanet_SampleModule, nuestro instalador contendrá:
namespace Barbanet\SampleModule\Setup;
 
use Magento\Framework\Setup\InstallDataInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
 
 
class InstallData implements InstallDataInterface
{
 
    /**
     * Install Data
     *
     * @param ModuleDataSetupInterface $setup   Module Data Setup
     * @param ModuleContextInterface   $context Module Context
     *
     * @return void
     */
    public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
    {
 
        $data = [
            [
                'Primer registro',
                'Insertando desde script de instalación de datos',
                date('Y-m-d H:i:s'),
                '1',
                'Prueba de inserción de primer registro.'
            ]
        ];
 
        foreach ($data as $row) {
            $bind = [
                'title' => $row[0],
                'content' => $row[1],
                'creation_time' => $row[2],
                'is_active' => $row[3],
                'description' => $row[4]
            ];
            $setup->getConnection()->insert(
                $setup->getTable('barbanet_samplemodule'),
                $bind
            );
        }
    }
}
Simplemente estaré insertando un registro en la tabla que ya había creado. Para lograrlo, luego de definir correctamente la versión de nuestro módulo, vamos a a la consola y ejecutamos:
bin/magento setup:upgrade
En el caso de este módulo (si recién fue instalado por primera vez), se habrá ejecutado el instalador.
Si revisamos el contenido de la tabla barbanet_samplemodule, deberíamos ver:

Y si controlamos el contenido de la tabla setup_module, deberíamos ver que, en este caso, el módulo está en la versión 2.10.0 (y también la versión de los datos).

Ahora, supongamos que ya teníamos datos y necesitamos modificarlos. Para esto vamos a usar el script de actualización.
Crearemos entonces, también dentro del directorio Setup, el archivo UpgradeData.php, el cual contendrá:
namespace Barbanet\SampleModule\Setup;
 
use Magento\Framework\Setup\UpgradeDataInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
use Magento\Framework\Setup\ModuleContextInterface;
 
 
class UpgradeData implements UpgradeDataInterface
{
 
    /**
     * Upgrade Data
     *
     * @param ModuleDataSetupInterface $setup   Module Data Setup
     * @param ModuleContextInterface   $context Module Context
     *
     * @return void
     */
    public function upgrade( ModuleDataSetupInterface $setup, ModuleContextInterface $context )
    {
        $installer = $setup;
 
        if (version_compare($context->getVersion(), '2.11.0')) {
            if ($installer->getTableRow($installer->getTable('barbanet_samplemodule'), 'row_id', 1)) {
                $installer->updateTableRow(
                    $installer->getTable('barbanet_samplemodule'),
                    'row_id',
                    1,
                    'description',
                    'Actualizado contenido con script'
                );
            }
        }
    }
}
Nuevamente, ajustamos la versión de nuestro módulo y volvemos a la consola.
bin/magento setup:upgrade
Al finalizar, deberíamos ver que el módulo subió de versión.

Y si revisamos el contenido de la tabla barbanet_samplemodule, el valor de la columna description habrá sido actualizado (siempre y cuando se cumplan las condiciones del script).

El código actualizado del módulo está disponible en el tag 2.11.0 en GitHub.