Есть проект, к примеру суши-бар, с филиалами во многих городах.
Вопрос: Как правильно сделать организацию баз(ы) данных
- В одной базе данных где у каждого клиента будет foreign key (branchId) который указывает на филиал (город)
- Для каждого филиала (города) создать отдельную базу данных и проверять на сервере с какого филиала запрос и далее сортировать. Если так, то из этого вопроса выходит следующие вопросы:
- Как на бэкенде используя sequelize (или без него) проверять из какого города запрос? Как по мне самый правильный вариант с помощью cookies
- Как отделить эти контексты для операций с разными базами данными (К примеру чтобы не перечислять города с помощью if else для определения города чтобы к примеру добавить товар именно в эту базу).
Вот на данный момент есть единственный контекст (база данных) с которой работаю:
const dbName = String(process.env.DB_NAME)
const dbUser = String(process.env.DB_USER)
const dbHost = String(process.env.DB_HOST)
const dbDriver = String(process.env.DB_DRIVER) as Dialect
const dbPassword = String(process.env.DB_PASSWORD)
const dbPort = Number(process.env.DB_PORT || 5432)
export default new Sequelize(
dbName,
dbUser,
dbPassword,
{
dialect: dbDriver,
host: dbHost,
port: dbPort,
timezone: '+00:00',
define: {
timestamps: false
}
},
);