公众号
BB 小助手

SQL 审核规则

SQL 审核规则在线生成工具

指导方针 Prod
指导方针 Dev
数据库

只有当数据库内没有表时,才可以被删除。

    强制要求表中必须包含某些字段。

    • 必须包含的字段名:
      id created_ts updated_ts creator_id updater_id

    表中的字段不允许存在 NULL 值。

      Schema

      MySQL 和 TiDB 支持检测 schema 变更是否向后兼容

        要求每张表必须有一个主键。

          禁止给表创建外键。

            只有符合命名规范的表才可以被删除,通过强制用户在删除前重命名来避免误删。默认情况下待删除表名必须以 "_del" 结尾。

            • 命名规则(正则): _del$
            语句

            不允许使用 "SELECT *" 语句

              必须使用 "WHERE" 语句

                WHERE 语句中禁止使用左模糊匹配,例如禁止 LIKE foo = '%x'。

                  命名

                  限制表名命名风格和长度,默认为小写字母_下划线,且不超过 64 个字符。

                  • 表命名规则(正则): ^[a-z]+(_[a-z]+)*$
                  • 长度限制(暂不支持 PostgreSQL): 64

                  限制列名命名风格和长度,默认为小写字母_下划线,且不超过 64 个字符。

                  • 列命名规则(正则): ^[a-z]+(_[a-z]+)*$
                  • 长度限制(暂不支持 PostgreSQL): 64

                  限制唯一键命名风格和长度,默认为 uk_<表名>_<主键包含的字段名组合>,且不超过 64 个字符。

                  • 唯一键命名规则: ^uk_{{table}}_{{column_list}}$
                  • 长度限制(暂不支持 PostgreSQL): 64

                  限制主键命名风格和长度,默认为 pk_<表名>_<主键包含的字段名组合>。

                  • 主键命名规则: ^pk_{{table}}_{{column_list}}$

                  限制索引命名风格和长度,默认为 idx_<表名>_<索引包含的字段名组合>,且不超过 64 个字符。

                  • 索引命名规则: ^idx_{{table}}_{{column_list}}$
                  • 长度限制(暂不支持 PostgreSQL): 64

                  限制外键命名风格和长度,默认为 fk_<目标表名>_<目标字段名>_<被引用表名>_<被引用字段名>,且不超过 64 个字符。

                  • 外键命名规则: ^fk_{{referencing_table}}_{{referencing_column}}_{{referenced_table}}_{{referenced_column}}$
                  • 长度限制(暂不支持 PostgreSQL): 64
                  引擎

                  强制要求使用 InnoDB 作为 MySQL 的储存引擎。

                    Made by Bytebase at 2022-08-16