Sqlsugar 产生默认值问题 返回

SqlSugar 沟通中
3 283

在产生 实体时 默认值 部分无法获取

sqlsugar 产生代码为

6386702714481765866008628.png

产生的实体


6386702715839582791426872.png

数据表 创建语句

-- 调拨拨出出库单

CREATE TABLE `wms137m` (

  `id` int NOT NULL AUTO_INCREMENT,

  `moveout_doc` varchar(1000) NOT NULL DEFAULT '' COMMENT '出库单号',

  `moveout_date` varchar(1000) NOT NULL DEFAULT '' COMMENT '出库日期',

  `suppliers_code` varchar(1000) NOT NULL DEFAULT '' COMMENT '供应商',

  `customer_code` varchar(1000) NOT NULL DEFAULT '' COMMENT '客户',

`front_document_type` int NOT NULL  DEFAULT 4001 COMMENT '前置单据类型 4001:调拨拨出 4002:调拨拨入',

  `front_document` varchar(50) NOT NULL DEFAULT '' COMMENT '前置单据',

  `Remarks` varchar(1000) NOT NULL DEFAULT '' COMMENT '备注',

  `status` int NOT NULL DEFAULT 8 COMMENT '状态',

  `createby` varchar(100) NOT NULL DEFAULT '' COMMENT '创建人',

  `createdate` varchar(100) NOT NULL DEFAULT '' COMMENT '创建日期',

  `createtime` varchar(100) NOT NULL DEFAULT '' COMMENT '创建时间',

  `modifyby` varchar(100) NOT NULL DEFAULT '' COMMENT '修改人',

  `modifydate` varchar(100) NOT NULL DEFAULT '' COMMENT '修改日期',

  `modifytime` varchar(100) NOT NULL DEFAULT '' COMMENT '修改时间',

  `pick_person` varchar(50) NOT NULL DEFAULT '' COMMENT '领料人',

  `erp_key` varchar(255) NOT NULL DEFAULT '',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='调拨出库单';


有个很有意思的是 。当最后一个字段默认值不等于空或者null。有个确定的值。所有默认值都会产生。

6386702784188399414517861.png


DEMO在下面

6386702886966401802824445.zip


热忱回答3

  • fate sta fate sta VIP0
    2025/1/18

    周一前解决

    0 回复
  • fate sta fate sta VIP0
    2025/1/19
    SELECT
                                        0 as TableId,
                                        TABLE_NAME as TableName,
                                        column_name AS DbColumnName,
                                        CASE WHEN  left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1)='' THEN COLUMN_TYPE ELSE  left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1) END   AS DataType,
                                        CAST(SUBSTRING(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)+1,LOCATE(')',COLUMN_TYPE)-LOCATE('(',COLUMN_TYPE)-1) AS  decimal(18,0) ) AS Length,
                                        column_default  AS  `DefaultValue`,
                                        column_comment  AS  `ColumnDescription`,
                                        CASE WHEN COLUMN_KEY = 'PRI'
                                        THEN true ELSE false END AS `IsPrimaryKey`,
                                        CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity,
                                        CASE WHEN is_nullable = 'YES'
                                        THEN true ELSE false END AS `IsNullable`,
                                        numeric_scale as Scale,
                                        numeric_scale as DecimalDigits,
                                        LOCATE(  'unsigned',COLUMN_type   ) >0  as IsUnsigned
                                        FROM
                                        Information_schema.columns where TABLE_NAME='wms137m' and  TABLE_SCHEMA=(select database()) ORDER BY ordinal_position

    看着像MYSQL数据库本身的的BUG , Information_schema.columns 里查不了来

    0 回复
  • @fate sta:好的好的

    0 回复