trailpack-knex

    3.0.0 • Public • Published

    trailpack-knex

    NPM version Build status Dependency Status Code Climate

    Provides support for database queries and schema migrations via knex.js.

    Install

    $ npm install --save trailpack-knex

    Configure

    main.js

    // config/main.js
    module.exports = {
      packs: [
        // ... other trailpacks
        require('trailpack-knex')
      ]
    }

    database.js

    // config/database.js
    module.exports = {
      stores: {
        knexPostgres: {
          client: 'pg',
     
          /**
           * knex connection object
           * see: http://knexjs.org/#Installation-client
           */
          connection: {
            host: 'localhost',
            user: 'admin',
            password: '1234',
            database: 'mydb'
          }
        }
      },
     
      /**
       * Supported Migrate Settings:
       * - drop
       * - create
       */
      migrate: 'create',
      defaultStore: 'knexPostgres'
    }

    Usage

    Models

    // api/models/User.js
    class User extends Model {
      static schema (table) {
        table.increments('id').primary()
        table.string('username')
        table.string('firstName')
        table.string('lastName')
      }
    }
     
    // api/models/Role.js
    class Role extends Model {
      static schema (table) {
        table.increments('id').primary()
        table.string('name')
        table.integer('user_id').references('user.id')
      }
    }

    Services

    SchemaMigrationService

    create

    Create the schema using knex

    drop

    Drop the schema using knex

    alter

    Not currently supported.

    Contributing

    We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.

    License

    MIT

    Install

    npm i trailpack-knex

    DownloadsWeekly Downloads

    13

    Version

    3.0.0

    License

    MIT

    Last publish

    Collaborators

    • trails