Skip to content
This repository was archived by the owner on Sep 10, 2025. It is now read-only.
This repository was archived by the owner on Sep 10, 2025. It is now read-only.

Add mysql module #95

Closed
Closed

Description

@skx

This might be a bigger job:

mysql {
    username => "root",
    password => "secret",
    database => "users",
    sql => "SELECT COUNT(id) FROM wp_users WHERE login LIKE \"steve%\"",
}

Might be a good example of how it could work..

Activity

  1. alexwhitman commented on Feb 11, 2022

    @alexwhitman
    Contributor

    A mysql module feels a bit specific. It might be better to have a sql module which has an engine attribute to define the database type

    sql {
        engine => "mysql",
        username => "root",
        password => "secret",
        database => "users",
        sql => "SELECT COUNT(id) FROM wp_users WHERE login LIKE \"steve%\"",
    }
    

    This way it allows for adding PostgreSQL, SQLite, Oracle, MSSQL etc without having modules for each.

    Another thought would be to allow the SQL to be defined in a file sql_file => "/path/to/file.sql" which could contain multiple statements to run.

    Something else to think about may be how to deal with SELECT statements vs INSERT/UPDATE/DELETE and if results could/should be useable. There may be cases where some SQL should be run if/unless another SQL query returns a result/value.

  2. skx commented on Feb 12, 2022

    @skx
    OwnerAuthor

    Good comment, and definitely agreed that engine-agnostic would be better.

    For any initial attempt I think it would be sufficient to run some SQL. I'd assume that such an action would need to be triggered if it wasn't safe to run multiple times.

  3. added a commit that references this issue on Feb 12, 2022
    aedaf1c
  4. skx commented on Feb 12, 2022

    @skx
    OwnerAuthor

    Updated to force the user to specify the DB-type and DSN-string.

    Confirmed it works on MySQL & SQLite (memory and on-disk).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      ⌂ 换网址