typeorm-legacy-adapter
v0.2.1
Published
TypeORM (legacy) adapter for next-auth.
Downloads
2
Maintainers
Readme
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
- Install
next-auth
and@next-auth/typeorm-legacy-adapter@canary
npm install next-auth @next-auth/typeorm-legacy-adapter@canary
- 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:[email protected]: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:[email protected]: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:[email protected]: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