Configure database connection
Migrating from forest-express-sequelize
forest-express-sequelize
When using the onboarding wizard, you connected to your database using the @forestadmin/datasource-sql
connector. To ease the migration, we recommend switching to the @forestadmin/datasource-sequelize
connector.
Start by changing the dependency in your agent
$ npm install @forestadmin/datasource-sequelize sequelize
Then you will need to copy your Sequelize
models to the new project and change the index
file.
const { createAgent } = require('@forestadmin/agent');
const { createSequelizeDataSource } = require('@forestadmin/datasource-sequelize');
const sequelizeInstance = require('./sequelize-instance');
// Create agent and import collections from sequelize
const agent = createAgent(options).addDataSource(createSequelizeDataSource(sequelizeInstance));
Migrating from forest-express-mongoose
forest-express-mongoose
Connect to the database
Connecting to a MongoDB instance is very similar: using the mongoose
ODM is required. We officially support mongoose >= 6.0
, but customers have reported working installations with 5.x
.
You will need to:
Install the
@forestadmin/datasource-mongoose
package.Copy your
mongoose
models to the new project.Create a new
mongoose
connection to the same database as the old one.
const { createAgent } = require('@forestadmin/agent');
const { createMongooseDataSource } = require('@forestadmin/datasource-mongoose');
const connection = require('./mongoose-connection');
// Create agent and import collections from mongoose.connection
const agent = createAgent(options).addDataSource(createMongooseDataSource(connection));
Replicate your legacy agent flattener configuration
If you are using the forest-express-mongoose
agent, you probably are using the flattener ↗ feature.
In the new agent, the flattener is more capable, but the behavior of the new auto
mode is different.
To replicate the behavior of the old agent, you will need to use the manual
mode and configure the flattener manually.
import { collection } from 'forest-express-mongoose';
collection('users', {
/** ... other options ... */
fieldsToFlatten: [
// Flatten the contactDetails field
'contactDetails',
// Flatten the characteristics field, but only the first level
{ field: 'characteristics', level: 1 },
],
});
Last updated
Was this helpful?