Skip to content

ScopeSV/kyseline

Repository files navigation

kyseline


Cli tool for Kysely Query builder. This tool can help you create migration files for kysely.

More functionality, like cli migrations, will be added at a later stage.

Quick start

in the root of your project, add a config file .kyselinecfg.json

Config

{
    "migrationDir": path, // add path to your migrations directory
    "useJsExtension": bool // optional
    // if you want to handle migrations and rollbacks for dev base through this cli
    "dbCreds": {
        "host": string
        "port": number
        "user": string
        "password": string
        "database": string
        "ssl": boolean
    }

}

if useJsExtension is not provided, the tool will scan your project directory for a tsconfig.json file. If found, .ts will be used, else .js

Commands

To create a new table migration:

$ npx kyseline migration:make create_foo_table foo:string bar:integer

To add fields to an existing table:

$ npx kyseline migration:make add_foo_from_foo_table foo:string bar:integer

To remove fields from an existing table:

$ npx kyseline migration:make remove_foo_from_footable foo

Run migrations and rollbacks

Supported databases:

  • PostgreSQL

To run your migrations, make sure the .kyselinecfg.json has the dbCreds field filled out.

Migrate up

$ npx kyseline migrate:up

Migrate down one step

$ npx kyseline migrate:down

Versioning

The project uses SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Stephan Valois -

License

This project is licensed under the MIT License - see the LICENSE.md file for details