typeorm-legacy-adapter

0.2.1 • Public • Published


    

TypeORM (Legacy) Adapter - NextAuth.js

Open Source. Full Stack. Own Your Data.

Canary CI Test Bundle Size @next-auth/typeorm-legacy-adapter Version

Overview

This is the TypeORM Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.

You can find more TypeORM information in the docs at next-auth.js.org/adapters/typeorm/typeorm-overview.

Getting Started

  1. Install next-auth and @next-auth/typeorm-legacy-adapter@canary
npm install next-auth @next-auth/typeorm-legacy-adapter@canary
  1. Add this adapter to your pages/api/[...nextauth].js next-auth configuration object.
import NextAuth from "next-auth"
import Providers from "next-auth/providers"
import Adapters from "next-auth/adapters"

// For more information on each option (and a full list of options) go to
// https://next-auth.js.org/configuration/options
export default NextAuth({
  // https://next-auth.js.org/configuration/providers
  providers: [
    Providers.Google({
      clientId: process.env.GOOGLE_ID,
      clientSecret: process.env.GOOGLE_SECRET,
    }),
  ],
  adapter: Adapters.TypeORM.Adapter(({
    type: 'sqlite',  // or mysql, postgresql, mssql
    database: ':memory:',
    synchronize: true
  }),
  ...
})

The synchronize option in TypeORM will generate SQL that exactly matches the documented schemas for MySQL and Postgres.

However, it should not be enabled against production databases as it may cause data loss if the configured schema does not match the expected schema!

Options

This adapter supports MySQL, PostgreSQL, sqlite, as well as MsSQL. Further configuration options are listed below.

sqlite

With sqlite, you have the option of using a file on disk as the database, or using a temporary in-memory database. In the database field you can either pass in a valid file path to the on-disk database you want to use, or simply write :memory: for an in-memory database which will disappear whenever you restart the process.

MySQL

For MySQL, simply pass a valid connection string to the database option, such as mysql://nextauth:password@127.0.0.1:3306/nextauth?synchronise=true, and do not forget to set the type value to mysql.

Schema: mysql/schema.sql

PostgreSQL

For PostgreSQL, you also only need to pass a valid connection string to the database option, such as postgres://nextauth:password@127.0.0.1:5432/nextauth, and do not forget to set the type value to postgres.

Schema: postgresql/schema.sql

MsSQL

For MsSQL, pass a valid connection string to the database option, such as mssql://nextauth:password@127.0.0.1:1433/nextauth, and do not forget to set the type value to mssql.

Schema: mssql/schema.sql

Contributing

We're open to all community contributions! If you'd like to contribute in any way, please read our Contributing Guide.

License

ISC

Package Sidebar

Install

npm i typeorm-legacy-adapter

Weekly Downloads

1

Version

0.2.1

License

ISC

Unpacked Size

30.9 kB

Total Files

13

Last publish

Collaborators

  • aarongray.org