scaffold

基于数据库定义的代码生成器
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 柳弘方
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

scaffold 是一款基于数据库定义的代码生成器。

它是如何工作的?

正如我们所知,go 中进行 json 字符串的编码/解码过程中, 可以通过对象定义时字段的tag定义, 对字段进行补充说明。如下例:

type JsonSomething struct{
  AField  int64     `json:"x"`
  BField  string    `json:"y"`
}

同样的方法, scaffold 通过数据库定义中的字段(或表)的 COMMENT 定义来对相应字段(或表)进行补充说明, 在根据模板进行代码生成。如:

CREATE TABLE `users` (
  `id`          INT UNSIGNED     NOT NULL  PRIMARY KEY AUTO_INCREMENT COMMENT 'caption:"编号"',
  `name`        VARCHAR(32)      NOT NULL  DEFAULT '' COMMENT 'caption:"名称"',
  `mailbox`     VARCHAR(128)     NOT NULL  DEFAULT '' COMMENT 'caption:"邮箱"',
  `sex`         TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'caption:"性别"',
  `description` VARCHAR(256)     NOT NULL  DEFAULT '' COMMENT 'caption:"描述"',
  `password`    VARCHAR(32)      NOT NULL  DEFAULT '' COMMENT 'caption:"密码"',
  `head_url`    VARCHAR(255)     NOT NULL  DEFAULT '' COMMENT 'caption:"头像"',
  `status`      TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'caption:"状态"',
  `created_at`   TIMESTAMP       NOT NULL  DEFAULT CURRENT_TIMESTAMP COMMENT 'caption:"创建时间"'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT 'caption:"会员"';

如定义表结构后, scaffold 就可以通过模板函数读取到 comment 中的 caption 字段, 并根据模板生成代码了。

  • 在生信小分子中,通常有scaffold split和random split两种划分数据集的方式,特别是在MoleculeNet中,而基于scaffold的任务要比random split的任务更难,而且更有意义。因为: 论文 Analyzing Learned Molecular Representations for Property Prediction 中提到: a scaffold-ba

 相关资料
  • 概况 背景 当我们在写一些UI测试的时候,我们总需要到浏览器去看一下一些DOM的变化。比如,我们点击了某个下拉菜单,会有另外一个联动的下拉菜单发生了变化。而如果这个事件更复杂的时候,有时我们可能就很难观察出来他们之间的变化。 ShowCase Luffa Screenshot 源码见:https://github.com/phodal/luffa 基本原理 尽管这里的例子是以Jasmine作为例子

  • 为了方便一部分人还是做了一个代码生成器的,但我本人不喜欢用代码生成器,除非项目比较庞大的时候。 代码生成器的代码在 codegen 这里,它是一个maven工程, 你只需要下载下来修改一下配置就可以了: public static void main(String[] args) throws IOException { DBMeta dbMeta = new DBMeta()

  • 问题内容: 诸如Rails和Django之类的Web框架内置了对“子弹”的支持,“子弹”用于生成可读且对SEO友好的URL: Rails中的子弹 团状串典型地只包含的字符,并且可因此在不URL转义(认为“富%20巴”)编写的。 我在寻找一个Java蛞蝓函数给出任何有效的Unicode字符串将返回蛞蝓表示(,和)。 一个普通的子弹函数可能类似于: 但是,此实现无法处理国际化和重音符号(> )。解决此

  • 我们有一个用例,在这个用例中,我们定义了许多不同的RPC。我们使用google的protobuf java生成了一个基于java的grpc存根代码 要转换为like 在java生成的代码中,每个原始服务应该有2个服务。我们只希望最终java生成的代码具有2个服务,解析器可能会/可能不会更新原始服务。原型文件。 当前protoc是否可以进行这种定制?我们可以扩展插件并编写我们的插件吗-

  • 我有一个自定义文件,其中包含我所有图像的路径及其标签,我在一个数据框中加载使用: MyIndex有两列感兴趣的ImagePath和ClassName 接下来我做一些训练测试拆分和编码输出标签为: 我面临的问题是一次性加载的数据太大,无法放入当前的机器内存,因此我无法处理完整的数据集。 我曾尝试使用datagenerator,但不想遵循它遵循的目录约定,也无法消除增强部分。 问题是,是否有一种方法可

  • 我们正在改变数据库,从一个支持8位int的数据库到一个不支持8位int的数据库。当Liquibase创建一个DB导致jOOQ生成“短”变量时,我们的代码会中断,但我们的代码使用字节/字节-这会中断代码签名。 有人建议我们继续使用以前的数据库(HSQLDB)来生成代码,而不是重新编码,它“应该”与新数据库一起运行。有不同的意见,除了直觉,我找不到任何决定性的东西,这似乎与jOOQ的设计目的背道而驰。

  • 本文向大家介绍基于python3生成标签云代码解析,包括了基于python3生成标签云代码解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了基于python3生成标签云代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 标签云是现在大数据里面最喜欢使用的一种展现方式,其中在python3下也能实现标签云的效果,贴图如下: ---

  • 我是Xtext和Xtend的新手,正在尝试使用Xtext文档中的Xtext教程学习Xtext。我正在使用Xtext 2.14在Java10下运行Eclipse光子。我刚开始学习扩展教程,很早就遇到了一个问题。以下是我尝试使用代码生成器的代码: 这是我的语法文件: 我的问题是Eclipse说@Inject注释有问题,它说,这是在一个Eclipse Xtext项目中根据教程中的说明生成的。 我该如何从