-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
实例增加3个字段:是否验证服务端SSL证书、显示的数据库列表、隐藏的数据库列表 #2781
The head ref may contain hidden characters: "\u589E\u52A0\u662F\u5426\u5FFD\u7565\u8BC1\u4E66\u9009\u9879"
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2781 +/- ##
==========================================
+ Coverage 78.19% 78.25% +0.06%
==========================================
Files 123 124 +1
Lines 17425 17493 +68
==========================================
+ Hits 13626 13690 +64
- Misses 3799 3803 +4 ☔ View full report in Codecov by Sentry. |
这些字段都是比较正常的字段, 但是我最近是发现instance 级别的字段已经有点太多了, 有很多字段也不需要去用它来过滤什么的, 你觉得有没有可能设置一个 varchar 或者 text 字段用来存 json, 这样之后再加字段也不需要改表了. |
instance 级别的字段多吗?sql_instance表也才20多个字段而已。 方案1:在现有表上继续加字段。 |
主要还是说以后加字段不用再加改表, 往里面塞就行了, 这才是真的简单, 以后加了字段也不用写改表语句, 如你所说性能不用太考虑, 一般人也不会在这里加一些太大太长的东西 嗯, json 字段也不错 |
用单个字段存储后, |
你说的也是需要考虑的事情, 你可以尝试下看看我们能不能定制 model 或者 admin 页面, 让其可以支持 json 字段的友好修改, 体验和之前也差不多. 如果要是不行的话, 那就没办法了, 只能按你之前的方案来了. 另外, 我比较建议的是, 设置两个字段, 允许显示的数据库 pattern, 不允许显示的数据库 pattern, 都采用正则的方式输入, 这样实现起来也比较简单, 不需要做逗号分隔等等. |
支持 json 字段的友好修改及使用比较难。 1.我故意屏蔽了正则。只让他支持*和~。 用正则是不是对运营人员来说成本高?用逗号简单。 想了想那还是用正则吧。 |
正则应该不会太难, 很多现有的配置就是用的是正则, 正则可以给管理员更多发挥空间 |
单元测试建议还是加一批独立测试的, 另外调用时建议使用 named argument, 不然会看起来难以理解. 需要测到各种场景, 比如 pattern 是空字符串之类的 |
@LeoQuote 已修改。
|
a061048
to
5e69682
Compare
实例增加字段。
ALTER TABLE sql_instance ADD verify_ssl tinyint(1) DEFAULT 1 COMMENT '是否验证服务端SSL证书。1:验证。0:不验证';
ALTER TABLE sql_instance ADD show_db_name_regex varchar(1024) DEFAULT '' COMMENT '显示的数据库列表正则';
ALTER TABLE sql_instance ADD denied_db_name_regex varchar(1024) DEFAULT '' COMMENT '隐藏的数据库列表正则';
允许显示的数据库列表字段使用场景:
一个数据库实例可以会部署多个系统,(当然了一个系统是有多个库)
方案1: 假如部署了3个系统,需要创建3个archery实例。至少需要在数据库建立3个帐号。
方案2:创建3个archery实例,配置显示数据库列表字段,在“SQL查询”,“SQL上线”等显示数据库列表时,将会进行筛选。
PS:此字段对于多系统不想创建多帐号共享使用数据库实例比较友好。我这边Mongo都是配置管理员帐号,5个系统共用的。 Redis更是10多个系统使用。