Как подключить схему Postgres в Nodejs и динамически переключать схемы с помощью Sequelize? - PullRequest
1 голос
/ 20 апреля 2020

Мне нужно подключиться к базе данных Postgres в Node.js, и я хочу динамически переключать схемы с помощью библиотеки Sequelize.

Вот моя модель таблицы и код контроллера.

    module.exports = function (sequelize, DataTypes) {
    const customer = sequelize.define(
        'customer',
        {
            id: {
                autoIncrement: true,
                primaryKey: true,
                type: DataTypes.INTEGER,
            },
            schema_name: {
                type: DataTypes.STRING,
                allowNull: false,
            },
            created_on: {
                type: DataTypes.DATE,
                allowNull: false,
                defaultValue: DataTypes.NOW(),
            },
        },
        {
            schema: 'public',
        }
    )
    return customer
}

и код контроллера

    exports.login = async (req, res, next) => {
        const { email, password, domain } = req.body
        const domainData = await customer.findOne({
             where: { schema_name: domain },
        })
        console.log('Log: exports.login -> domainData', domainData)
}

После получения ответа я должен динамически переключать схемы в соответствии с приведенным выше результатом.

Помогите, ребята, пожалуйста

1 Ответ

0 голосов
/ 22 апреля 2020

Я решил проблему с помощью функции sequelize.query () .

для получения Домена ...

    const domainData = await sequelize.query(
    `SELECT schema_name from public.customer_management_client where schema_name = '${domain}'`
)

для переключения Dynami c Схема

const UserData = await sequelize.query(
            `SELECT * from ${domainData[0][0].schema_name}.user_access_user where email = '${email}'`
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...