问题标签 [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.
database - laravel如何管理数据库
我想使用多个数据库,我有1db/user和 1 个主 db,已经在配置文件中设置了主 db,但是如何管理用户数据库(db name = {user_id}_db)。提前致谢
这是我的配置代码
python - 通过在 django 中继承 django.db.models.Model 来添加、删除、更新多个数据库
我想通过使用django.db.models.Model编写添加、更新删除到多个数据库
我可以通过在 settings.py 中设置多数据库来添加到多个数据库
所以设置文件看起来像
然后我django.db.models.Model
在我的应用程序中创建子类和模型model.py
因此,当我创建新对象时,它会保存到两个数据库中。
对于这种方法,我想添加功能update
并且delete
查询也create
可以正常工作。
查询运行时会调用哪些方法update
,delete
或者如何向多个数据库添加删除和更新功能?
asp.net-mvc - 使用 Asp.Net 身份的动态数据库连接
我正在开发一个使用多个数据库的多租户应用程序。有一个包含用户信息的主数据库,然后每个租户数据库也有自己的租户用户(它们是主数据库中用户的子集)。
用户登录后会检查主数据库,然后根据他们的详细信息(即他们属于哪个租户),它将使用租户数据库上的用户详细信息将他们登录到应用程序中。
我正在使用此线程中描述的方法(使用 Asp.net MVC 和 Identity2的动态数据库连接)每次都为 UserManager 设置数据库,因为在应用程序启动时它不知道要使用哪个数据库,因此下面的代码在“Startup.Auth”将设置不正确的数据库:
这似乎对大多数事情都有效,但我遇到的一个问题是用户在下面代码中显示的“validateInterval”中设置的时间之后退出(这已设置为 20 秒以进行测试):
我认为问题可能是因为在“Startup.Auth”文件中调用上面的代码时,它不知道要使用哪个数据库,但是我没有确认这一点。
如果我调试“GenerateUserIdentityAsync”代码,我可以看到它正在从客户端数据库中为用户获取正确的“securityStamp”,这让我认为它正在找到正确的数据库,但我无法弄清楚为什么它仍在注销用户在为“validateInterval”设置的时间之后。
任何人都可以就如何解决这个问题提供任何建议,或者至少可以尝试调试问题可能是什么?
c# - 应该使用什么设计模式连接到具有完全相同架构和父/主数据库的多个数据库实例之一?
我正在为一个新项目设计代码。将有许多具有完全相同架构的客户端特定数据库。这些数据库将存储相应客户组织的员工。并且会有一个 MASTER 数据库,它将针对 client_id 存储数据库连接字符串。因此,在任何请求上,将首先查询主数据库以获取客户端的连接字符串。然后将连接各个客户端数据库以获取用户/员工详细信息。换句话说,根据客户端请求的员工,将从主数据库获取连接字符串,然后连接客户端特定的数据库以验证客户端的员工 ID/密码 -一个数据库(为每个客户端存储一个连接字符串) -多个具有完全相同架构的客户端数据库实例(存储客户组织的员工)
有人可以建议我应该先使用代码还是先使用数据库,我应该在这里使用什么设计模式?
django - 在使用多个数据库时将记录插入表的 ManyToMany 字段
我的项目使用 Django 的内置多数据库支持,我试图通过从一个数据库中获取记录并将其插入另一个数据库来同步 2 个不同数据库中的数据。
我尝试使用RelatedManager的add方法以通常的方式执行此操作,但它不起作用,并且没有在第二个数据库的中间表中插入记录,而是在默认数据库中执行此操作。
我是这样做的:我有一个Person模型,它有一个 ManyToMany 字段到Dbs模型:
和 Dbs 模型,其中包含一个列,其中包含一个人可以访问的数据库的名称:
所以我想从默认数据库中获取一些 Person、Dbs 和中间记录并将它们全部复制到另一个数据库(假设它的名称是“辅助”)。所以我做了以下事情:
我清楚地看到,表person_tenantdbs中没有添加任何记录,该表是作为“辅助”数据库中数据库级别的中间表自动创建的。
所以我想知道如果数据库不是默认的,如何处理并在这个表中插入一条记录?
我已经尝试过使用这里描述的管理器,如下所示:
但它仍然不起作用。
根据Django源代码,这种方法似乎只需要路由器提供的db,以防多db场景,见这里:
那么,有没有办法插入它并手动分配数据库,或者这只能通过路由器来完成?
我想在这方面寻求帮助,非常感谢。
laravel - Laravel 通过视图传递大数据,加载时间慢
我需要通过 Laravel 中的视图传递相当多的数据,它似乎需要看一下,有人可以建议改进此代码/通过视图传递大量数据的正确方法吗?
从我的电脑上加载这个页面非常慢,在实时系统中一旦在服务器上似乎需要更少的时间,但我认为还不够快。
我看到有这种依赖关系应该有助于实时系统composer install --optimize-autoloader --no-dev
,但我还没有安装它,因为我有很多类要初始化,这会有助于我的速度吗?
它获取每个城市的连接的第一段代码,我们使用的是多模式 PostgreSQL 数据库,因此对于每个URL/city1
URL/city2
等,它需要找到从哪个数据库获取数据。
然后我需要检查schemeid
参数是否存在及其值,然后从数据库运行相关查询
最后运行几个函数来正确格式化数据并能够正确显示在图表中。
将所有内容传递到视图中
ruby-on-rails - Heroku Rails 6 multiple connection not working
I have a project running on Rails 6 with multiple database configuration.
This is my database.yml configuration
This configuration is correctly working in development, however, when deploying it to Heroku the app crashes.
The error looks like this:
Seems like rails is not considering the 3-tier configuration so assumes a local server. I've been trying to configure the file in several ways, none of them work in Heroku. I followed the puma.rb configuration suggested in Heroku but it does not make any difference.
Any thoughts on how I could fix this issue? Is it a Rails issue or a PgAdapter issue?
The relevant part of my Gemfile is
django - 在有和没有时区的 Django 中处理多个数据库
我处于使用 django (2.0.7) 处理多个数据库的情况:
- database_A:无时区;
- database_B:时区为“欧洲/巴黎”;
设置.py
关于数据库 A 的模型
我得到以下结果
我在欧洲/巴黎和 UTC 之间有相同的 1 小时差异。
所以,我认为 PostgreSQL 正在使用 UTC 来保存我认为是时区感知 datetime 的天真的日期时间?
在数据库中,我有以下时间
在 DATABASES 设置中将 TIME_ZONE 选项设置为该数据库的适当时区。
当 USE_TZ 为 True 时,这对于连接到不支持时区且不受 Django 管理的数据库很有用。
即使 time_zone 为 None ,Django 或 PostgreSQL 是否会将本地时间保存为 UTC?知道如何解决吗?(我无法更改数据库架构 T_T)
sql-server - 动态 USE 语句
我正在寻找是否有人有任何理由说明下面的代码是一个坏主意。
这个挑战涉及我在几个不同的地方和环境中遇到的挑战。如何对多个数据库中的相同表结构运行相同的查询。对于许多尝试多站点的小型 ERP 安装来说,这是一个问题。每个位置将在服务器上具有匹配的表和不同的数据库。当涉及到报告数据收集时,通常会在每个数据库中部署一个 proc,它是一个精确的副本。我在拥有多达 14 个独立站点的站点上看到了这一点。代码扩散和管理部署可能非常具有挑战性。最近,我想到了一个没有其他人提出的想法,至少我没有找到它,虽然它看起来很简单,但它似乎有效。我不知道我是否遗漏了一些微妙的东西或一些技术原因,为什么这是一个坏主意。
编码:
我最初的测试说它有效。