This package has been deprecated

Author message:

All packages in the @keystone-alpha namespace are now available in the @keystonejs namespace, starting at version 5.0.0. To upgrade, update package.json to point to "@keystonejs/adapter-knex": "^5.0.0" and update any require/import statements in your code.

@keystone-alpha/adapter-knex

6.0.2 • Public • Published

Knex Database Adapter

The Knex adapter is a general purpose adapter which can be used to connect to a range of different database backends. At present, the only fully tested backend is Postgres, however Knex gives the potential for MSSQL, MySQL, MariaDB, SQLite3, Oracle, and Amazon Redshift to be supported.

Usage

const { KnexAdapter } = require('@keystone-alpha/adapter-knex');

const keystone = new Keystone({
  name: 'My Awesome Project',
  adapter: new KnexAdapter(),
});

API new KnexAdapter(options)

options.schemaName

Default: 'public'

All postgres tables are grouped within a schema and public is the default schema.

options.knexOptions

These options are passed directly through to Knex.

See the knex docs for more details.

Default:

{
  client: 'postgres',
  connection: '<DEFAULT_CONNECTION_URL>'
}

The DEFAULT_CONNECTION_URL will be either one of the following environmental variables:

  • CONNECT_TO,
  • DATABASE_URL,
  • KNEX_URI

or 'postgres://localhost/<DATABASE_NAME>'where DATABASE_NAME is be derived from the KeystoneJS project name.

Debugging

To log all Knex queries, run the server with the environment variable DEBUG=knex:query.

Setting Up a Database

Before running Keystone with the Knex adapter you should configure a database. By default Knex will look for a Postgres database on the default port, matching the project name, as the current user.

In most cases this database will not exist and you will want to configure a user and database for your application.

Assuming you're on MacOS and have Postgres installed the build-test-db.sh does this for you:

./build-test-db.sh

Otherwise, you can run these steps manually:

createdb -U postgres keystone
psql ks5_dev -U postgres -c "CREATE USER keystone5 PASSWORD 'k3yst0n3'"
psql ks5_dev -U postgres -c "GRANT ALL ON DATABASE keystone TO keystone5;"

If using the above, you will want to set a connection string of: postgres://keystone5:k3yst0n3@localhost:5432/keystone

Readme

Keywords

none

Package Sidebar

Install

npm i @keystone-alpha/adapter-knex

Weekly Downloads

35

Version

6.0.2

License

MIT

Unpacked Size

41.3 kB

Total Files

6

Last publish

Collaborators

  • emmatown
  • jedwatson
  • molomby