问题标签 [multi-database]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - Symfony2: how to work with data from another db?
I have one master database that hosts all master and transaction details of my users.
Now I would like to have 3 web-applications (symfony2) connected to this database, A B and C. All of them have a local database.
A is for my users, B and C will be admin applications. (Basically these are for different departments within my company that do distinctly different things with info from the master database). The master database is fed by A, but should be able to get modified by B and C too.
Lets say in B I need to assign an activity to a user that has created an account in A and store that info in B's local database.
I have been pondering on this for a month: how do I work with a User Entity in B (coming from A) so that I am still be able to do something like:
Or something like:
How can an object relationship be maintained if info needs to come from two different databases?
I am very new to this way of working. Do I need to work with AbstractClasses, or API's or something else?
If someone has at least some tips as to how what I should take in consideration, I would be most grateful.
EDIT: Does this then mean I would need to have two entity classes for, for example, the user entity? One in A, and one in B (and possibly one in C).
The problem is that in A, the user entity has relationships with other entities, than in B. Remember that A and B are different softwares.
I thought maybe I should have a reusable bundle that is used in both A and B? But then again the problem is that some entities have relationships in A that do not exist in B.
In other words, how would I map the same data from the database differently to entities in multiple software.
php - Laravel 多租户应用方式
我正在尝试使用 Laravel 5 构建一个多租户应用程序。我知道已经存在诸如 Hyn 和 AuraEQ 之类的软件包,但我仍然觉得这些很难理解,我想制作自己的(简化)版本。这样我就可以确切地知道引擎盖下发生了什么。在开始之前,我已经阅读了互联网上的几乎所有内容,但是关于这个主题的信息并不多。
我想到的方法非常简单:
- 定义 中的租户
app/config/tenant.php
和对应的数据库连接app/config/database.php
。我认为将租户存储在“主”数据库中是多余的。 - 注册服务提供商以启用多租户
- 在检测(活动)租户的 IoC 容器中注册一个 Singleton
- 扩展所有 Eloquent 模型并覆盖
getConnectionName()
活动租户数据库中的查询
每个网站(租户)在存储路径中都有自己的文件夹。假设我有一个名为“coding.com”的网站,路径将类似于:app/storage/tenants/coding-com
. 租户当前拥有自己的视图和路线。
到目前为止一切顺利,这是代码:
定义租户:
而且我必须使用一个名为“TentantModel”的类来扩展每个 Eloquent 模型,它会覆盖该getConnectionName()
方法:
我为大量代码道歉,但这使这个想法更容易理解。
这给我带来了几个问题:
- 我将如何为每个租户单独管理资产?
- 使用 Singleton 是否对这种方法有意义?这是我唯一能想到的拥有某种全局变量并且它工作正常,但我怀疑 Singleton 是否适用于这种东西。
- 这种方法是否有任何缺点,我在考虑时没有考虑到这些问题?
只回答一个将不胜感激。提前致谢!
doctrine-orm - zf2 + Doctrine 为每个成员创建不同的数据库
我网站的每个连接成员都有自己的数据库。这是“user_1”的教义配置:
有没有办法用 'user_x'、'psswd_user_x' 和 'database_user_x' 替换 user_x 的 'user_1'、'psswd_user_1' 和 'database_user_1'?
我不知道该怎么做!我想避免为每个用户复制相同的代码......
谢谢你的帮助
php - 使用主数据库访问多个数据库和用户身份验证机制的 SaaS 方式
我正在构建一个 saas 应用程序,其中包含一个用于所有事务的主数据库以及每个租户的用户群和单独的数据库。每个租户都有一个唯一的子域,并在此基础上将正确的数据库指向租户。Web 应用程序使用 php 构建,MySQL 用于数据存储。
我有几个问题,首先;
当用户访问租户主页(例如 Sub.abc.com)时,将提供登录功能。由于用户名密码和用户库位于主数据库中,我将如何验证用户身份?是通过主数据库的单独数据库连接还是通过 Web api?什么是最好的方法?
会有租户创建的角色。因此,假设通过调用 web api 检索特定租户的人员,并且角色与用户 ID 一起存储在租户数据库中。这是正确的前进方式吗,因为没有直接的外键映射,而且一旦检索到用户,我应该将其存储在租户数据库中还是仅将其保存在内存中?
如果企业主想要一份关于每个租户数据库特定内容的报告,那么从每个租户数据库中获取所有数据的最佳方法是什么?
我们如何在超级管理员中捕获每个租户的数据库使用情况、文件存储和显示?
yii2 - YII2 Ajax 多数据库连接
我正在使用 ajax 使用 YII2.0 多数据库连接,我在具有用户表的帐户数据库中有多个数据库,如 account、customer_1、customer_2 ..customer_n,然后该表中的每个用户都有相应的 DB。
基于 user_id 我喜欢使用 ajax 连接数据库。是否有可能这样做。
提前感谢您的想法和建议。
django - 如何始终为某些 django 模型使用特定的数据库连接?
我将在 django 应用程序中添加一个过程,我需要在其中存储数据但只需要几个小时,我也不想在我的数据库模式中添加另一个表(这有点大),我正在考虑使用redis 的任务,最终我想要实现的是有一个Transfer
模型,我希望这个模型总是使用另一个数据库来进行它的 CRUD 操作。
例子:
我怎样才能做到这一点?只要有效,我不介意使用晦涩的诡计。
谢谢!
c# - 如何创建支持多个数据库的应用程序
我有一种情况,我需要创建一个支持多个数据库的应用程序。多个数据库意味着客户端可以首先使用任何数据库,如 Oracle、SQL Server、MySQL、PostgreSQL。
我试图使用像 NHibernate 或 MyBatis 这样的 ORM。但它们有其局限性,需要专业知识才能使用。
所以我决定使用微软提供的数据提供者,如 ADO.NET、OLEDB、ODP.NET 等。
有什么办法可以让我的数据库逻辑对所有数据库保持相同?我已经尝试过IDbConeection
,IDbCommand
等等,但在 Oracle(参考光标)的情况下它们会出现问题。
我有什么办法可以做到这一点?一些链接或指南将不胜感激。
编辑:
DBTypes 存在问题,因为它们是枚举定义不同的数据提供者。
ruby - 与 ActiveRecord::Base.establish_connection 的数据库连接过多
我使用带有 ActiveRecord 的多数据库。我必须放入establish_connection db
所有模型。但我想调用库文件的连接。虽然establish_connection db
为所有模型放入数据库连接数太多。我该怎么做其他方法?
我的项目是 Sinatra 上的 Ruby。
laravel - Orchestral/tenanti 多数据库
我为许多租户构建了一个应用程序,每个租户都有自己的数据库。数据库名称与租户 id 相同。(id 存在于五个数字中)。身份验证后,用户应该连接到他自己的数据库并重定向到他的仪表板。
我尝试使用以下代码将用户与他的数据库连接起来,该代码放在 Authenticate.php 中
if 语句检查主数据库中登录的用户是否是租户(布尔值)。
config/database.php 包含以下代码:
应用服务提供者:
我没有收到错误,但连接没有改变。用户数据库是空的,因此当我使用 user_id=1 登录时应该看不到任何数据。提前感谢您的帮助。
sql-server - 从所有服务器数据库中的同一个表中检索数据
我有带有 DB1 、 DB2 、 Db3 ...> DB50 的 SQL Server 2012
如果我需要查看我使用的服务器中的数据库
Saves
除五个数据库没有此表外,所有数据库都有相同的表。
我需要知道哪些数据库有表Saves
- 为此我使用
Saves
如果找到,如何从所有数据库的表中检索数据?
我一个一个使用,保存数据需要很多时间
并保存数据然后返回搜索
并保存数据然后返回搜索
我需要一个 SQL 命令,例如: