mrpowerup/filament-sql-field

And a field to write SQL sentences using codemirror 5.

Installs: 1 083

Dependents: 0

Suggesters: 0

Security: 0

Stars: 12

Watchers: 1

Forks: 1

Open Issues: 0

Language:JavaScript

pkg:composer/mrpowerup/filament-sql-field

2.0.2 2026-02-20 13:22 UTC

This package is auto-updated.

Last update: 2026-02-20 13:55:53 UTC


README

image image image

Installation Filament v5.x

You can install the package via composer:

composer require mrpowerup/filament-sql-field

Installation Filament v4.x

You can install the package via composer:

composer require mrpowerup/filament-sql-field "dev-filament-v4"

Installation Filament v3.x

You can install the package via composer:

composer require mrpowerup/filament-sql-field "dev-filament-v3"

Or if you want to use 1.x version of the package you can use:

composer require mrpowerup/filament-sql-field "^1.0"

Or if you want to use 2.x version of the package you can use:

composer require mrpowerup/filament-sql-field "^2.0"

Usage

use MrPowerUp\FilamentSqlField\FilamentSqlSection;
use MrPowerUp\FilamentSqlField\FilamentSqlField;
public static function form(Form $form): Form
    {
        return $form
            ->schema([
                   FilamentSqlSection::make()
                    ->schema([
                        FilamentSqlField::make('sql')                               
                            ->fullscreen() // Allow Fullscreen mode
                            ->editorHeight(300) // Set height of editor
                            ->autoGetTables() // Automatically get tables from database
                            ->default("SELECT * FROM users WHERE 1;")
                            ->columnSpanFull(),
                    ])
            ]);
    }

Configuration

You can publish the configuration file using:

php artisan vendor:publish --tag="filament-sql-field-config"

This will create a config/filament-sql-field.php file where you can customize the available SQL dialects and add predefined templates.

Dialects

You can define which SQL dialects are available in the editor's "Change Meme" dropdown:

'dialects' => [
    'text/x-sql' => 'SQL',
    'text/x-mysql' => 'MySQL',
    // ...
],

Templates

You can add predefined SQL templates that users can insert via the "Templates" dropdown:

'templates' => [
    'User Select' => 'SELECT * FROM users;',
    'Active Orders' => 'SELECT * FROM orders WHERE status = \'active\';',
],

MIME types defined

  • text/x-sql
  • text/x-mysql
  • text/x-mariadb
  • text/x-cassandra
  • text/x-plsql
  • text/x-mssql
  • text/x-hive
  • text/x-pgsql
  • text/x-gql
  • text/x-gpsql
  • text/x-esper
  • text/x-sqlite
  • text/x-sparksql
  • text/x-trino

If you need to update the editor value with dispatch here is an example:

$this->dispatch('updatePlugin', $record->sql);
@script
    <script>
        $wire.on('updatePlugin', (event) => {
            window.editor.setValue(event[0]);
        });
    </script>
@endscript

Links

License

The MIT License (MIT). Please see License File for more information.