laravel中一个模型怎么使用多个数据库

laravel中一个模型怎么使用多个数据库,第1张

,

'mysql_center'

=>

[

'driver'

=>

'mysql',

'host'

=>

env('DB_HOST',

'

localhost

'),

'database'

=>

env('DB_DATABASE_CENTER',

'forge'),

'username'

=>

env('DB_USERNAME',

'forge'),

'password'

=>

env('DB_PASSWORD',

''),

'charset'

=>

'

utf8

',

'collation'

=>

'utf8_unicode_ci',

'prefix'

=>

'',

'strict'

=>

false,

],

我自己建立的model

User.php

是可以通过下面这种方式切换数据库的。

class

User

extends

Model

implements

AuthenticatableContract,

CanResetPasswordContract

{

protected

$

connection

=

'mysql_center'

如何实现多数据源动态切换!

最近接到一个监控数据库资源情况的小项目。需要监控多个数据库的长时间耗时的SQL,并发出短信预警提醒。

技术实现思路:

1、通过配置设置一个主数据库,通过主数据库读取需要监控的数据库的地址,账号密码,驱动类型,需要执行的SQL,以及查询结果字段,短信模板等。

2、使用jdbc模板实现,动态数据源的配置及切换。

3、短信内容实现动态替换,模板引擎替换

4、动态SQL,根据执行类型字段,支持增删改查的SQL

5、可以根据插入的SQL的链路串起来SQL执行顺序。前边的SQL也可以动态生成后续需要动态执行的SQL,动态插入到执行SQL列表中。

今天先把思路设计出来,后续再上实现的代码。

1、在不退出sqlplus的情况下,直接在命令行输入conn username/password;即可完成切换。

2、在退出sqlplus的情况下,windows下:set ORACLE_SID=db_namelinux下:export ORACLE_SID = db_name再登录相应的用户即可完成切换。

3、创建用户命令:create user usernamer identified by passwd;

4、给用户赋权限:grant connect,resource,dba to username


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10647992.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存