Метод 1: простой подход
Чтобы установить соединение с базой данных MySQL с помощью Prisma, вы можете просто создать строку подключения, содержащую необходимые данные. Вот пример:
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
datasources: {
db: {
url: "mysql://username:password@localhost:3306/database_name",
},
},
});
// Now you're connected!
Метод 2: использование переменных среды
Если вы предпочитаете хранить свои секреты в тайне от кода, вы можете использовать переменные среды для хранения данных вашего соединения. Prisma тоже поддерживает этот подход! Вот пример:
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
// Prisma automatically reads the connection details from environment variables
// Make sure to set the appropriate variables before running your code!
Метод 3: строка динамического подключения
Иногда вам может потребоваться динамически генерировать строку подключения в зависимости от условий выполнения. Prisma также обеспечивает такую гибкость. Посмотрите этот пример:
const { PrismaClient } = require('@prisma/client');
function generateConnectionString() {
// Your custom logic to generate the connection string goes here
const username = process.env.DB_USERNAME;
const password = process.env.DB_PASSWORD;
const host = 'localhost';
const port = 3306;
const database = 'database_name';
return `mysql://${username}:${password}@${host}:${port}/${database}`;
}
const prisma = new PrismaClient({
datasources: {
db: {
url: generateConnectionString(),
},
},
});
// Voilà! Your connection string is generated dynamically.
Метод 4. Мастер пула соединений
Если вы хотите оптимизировать соединения с базой данных с помощью пула соединений, Prisma вам поможет. Вот как это можно настроить:
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
datasources: {
db: {
url: "mysql://username:password@localhost:3306/database_name",
// You can specify additional connection pool settings here
// For example:
// max: 10, // Maximum number of connections in the pool
// idleTimeoutMillis: 30000, // Time in milliseconds after which idle connections are closed
},
},
});
// Enjoy the benefits of connection pooling!
Вот и все! Вы узнали четыре различных метода создания строк подключения MySQL с помощью Prisma. Выберите тот, который лучше всего соответствует вашим потребностям, и начните создавать потрясающие приложения.
Надеюсь, эта статья была вам полезна. Приятного кодирования!