ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

lightdb特性之内置数据库规范检查和违约拦截

2022-05-28 23:04:21  阅读:160  来源: 互联网

标签:检查和 LightDB check 数据库 name DDL id lightdb


  因为开发不规范,DBA和架构师们通常会制定各种开发规范。比如关键字不能作为标识符,必须包含主键、最后修改时间、创建时间等。虽然规范很多,但是执行的时候通常会大打折扣,因为有大量的客户端可以连接数据库,没有足够的保障机制和制度。为了确保规范的落地,lightdb内置了开发规范校验特性,对于不符合规范的DDL会进行拦截或警告。其通过参数lightdb_best_practice_level和lightdb_best_practice_mode控制。如下:

[zjh@hs-10-20-30-193 data]$ ltsql -p9999
ltsql (13.3-22.2)
Type "help" for help.

zjh@postgres=# drop database id;
DROP DATABASE
zjh@postgres=# create database id;
WARNING:  LightDB DDL check warn! keyword not allowed with [db name]:id
CREATE DATABASE
zjh@postgres=# show %best%;
            name             | setting |                 description                 
-----------------------------+---------+---------------------------------------------
 lightdb_best_practice_level | 0       | LightDB DDL specification inspection level.
 lightdb_best_practice_mode  | all     | LightDB DDL specification inspection mode.
(2 rows)

zjh@postgres=# create table text(id int);
WARNING:  LightDB DDL check warn! keyword not allowed with [table name]:text
WARNING:  LightDB DDL check warn! keyword not allowed with [column name]:id
WARNING:  LightDB DDL check warn! no primary key!
WARNING:  LightDB DDL check warn! no gmt_create or no gmt_modified!
CREATE TABLE
zjh@postgres=# create index id on text(id);
WARNING:  LightDB DDL check warn! keyword not allowed with [index name]:id
CREATE INDEX

其中,

  参数lightdb_best_practice_level用于设置对不符合规范的设计是当警告处理还是错误处理。默认为1警告,0代表错误。

  参数lightdb_best_practice_mode用于设置启用哪些检查,当前支持keyword_not_allowed,bad_datatype,must_have_pk,must_have_gmt,no_more_100cols这五种。含义分别为:标识符检查 (including table name, field name, library name and index name), 不建议使用的postgresql类型检查 (float,double,real, uuid,bytea,boolean,bit,character), 表设计最佳实践,包括主键、修改时间、字段数限制不超过100。

  当前对于创建、修改表、库、索引这三种最主要的对象进行了支持。

  详细可参见LightDB官方文档https://www.hs.net/lightdb/docs/html/ddl-check.html

标签:检查和,LightDB,check,数据库,name,DDL,id,lightdb
来源: https://www.cnblogs.com/zhjh256/p/16311281.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有