scaffold 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
scaffold 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
scaffold 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
scaffold 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
scaffold 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 liujianping
适用人群 未知
收录时间 2016-02-02

软件简介

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 字段, 并根据模板生成代码了。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/02/07 20:14

Rails Scaffold

Scaffolding in Ruby on Rails refers to the auto-generation of a set of a model, views and a controller usually used for a single database table. For example, you can auto-generate a ready to use controller, model, and views with a full CRUD ( C reate, Read, Update, Delete) web interface for the Story table using the following command: $rails generate scaffold Story title:string content:text It'...

0
0
发表了博客
2017/04/29 16:29

Scaffold-DbContext

# EntityFrameworkCore ## 基于现有数据库 ``` shell PM> Scaffold-DbContext -Connection "Server=IP地址;UID=用户名;PWD=密码;Database=数据库名" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models ``` ## 添加(localdb)MSSQLLocalDB ``` shell PM> Scaffold-DbContext -Connection "Server=(localdb)\MSSQLLocalDB;AttachDbFileName=F:\localdb\DTcmsdb4.mdf" -Provider Microsoft.EntityFrameworkCore...

0
0
2019/05/23 17:30

Flutter之Scaffold Widget

老规矩,下班前推一波,且行且珍惜。 前文我们简单刷了刷Flutter这个大BOSS,不知大家感触几何。接下来我们来看一点Flutter基础布局的东西。大家都知道,在Android原生中我们使用setContentView布局自己的页面内容,而一个页面的基本构成又是怎样的呢?如下图: enter image description here 其中ActionBar/Toolbar属于系统内建,StatusBar是SystemUI中的部分,应用侧不用编写,FloatingActionButton以及ContentView是我们通过...

0
0
发表了博客
2012/11/06 12:52

A sample test scaffold

#!/bin/bash usage() { cat << EOF usage: ${0##*/} <target_program> <expected_input_output> EOF } if [ $# != 2 ]; then usage exit 1 fi # parse arguments INPUT_OUTPUT_FILE="input-expectedoutput" TARGET_PROG=$1 INPUT=$2 # validate arguments if [ ! -f $TARGET_PROG ]; then echo $TARGET_PROG does not exist; exit 1; fi if [ ! -f $INPUT ]; then echo $INPUT does not exist; exit 1; fi [ ! ...

0
0
发表了博客
2018/06/11 13:28

scaffold-dbcontext 命令的使用

工具的scaffold-dbcontext(数据库上下文脚手架)指令来生成models和context。 指令详细介绍: Scaffold-DbContext [-Connection] <String> [-Provider] <String> [-OutputDir <String>] [-Context <String>] [-Schemas <String>] [-Tables <String>] [-DataAnnotations] [-Force] [-Project <String>] [-StartupProject <String>] [-Environment <String>] [<CommonParameters>] PARAMETERS -Connection <String> Specifies th...

0
0
发表了博客
2019/03/14 13:43

Scaffold-DbContext 命令参数

NAME Scaffold-DbContext SYNOPSIS Scaffolds a DbContext and entity types for a database. SYNTAX Scaffold-DbContext [-Connection] [-Provider] [-OutputDir ] [-ContextDir ] [-Context ] [-Schemas <String[]>] [-Tables <String[]>] [-DataAnnotations] [-UseDatabaseNames] [-Force] [-Project ] [-StartupProject ] [] DESCRIPTION Scaffolds a DbCont...

0
0
发表了博客
2019/12/28 22:18

Flutter Scaffold组件详情配制使用

**重要消息** * [精通点的可以查看这里 精述](https://gitbook.cn/gitchat/author/5ae043915efcf9715e37c733) * [Flutter 从入门实践到开发一个APP之UI基础篇 视频](https://edu.csdn.net/course/detail/25543) * [flutter从入门 到精通 系列文章](https://blog.csdn.net/zl18603543572/article/details/93532582) *** #### Flutter Scaffold 组件系列 * Scaffold组件的基本使用 * Scaffold组件中floatingButton悬浮按钮 * Scaf...

0
0
发表了博客
2018/11/21 17:16

Flutter常用组件(Widget)解析-Scaffold

实现一个应用基本的布局结构。 举个栗子: import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( primarySwatch: Colors.blue, ), home: new CenterDemoPage() , ...

0
0
发表了博客
2019/06/29 15:53

Flutter Scaffold组件详情配制使用

题记 —— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。 本文章将详细综述Scaffold组件的属性配制 本页面中最终实现的页面效果 1 Scaffold简述 Scaffold 实现了基本的 Material Design 布局结构,Scaffold在英文中的解释为角手架,我们可以理解为楼体中的钢架结构,通过它可以构建一个页面。 在Flutter应用开发中,我们可以将 Scaffold 理解为一个布局的容器。可以在这个容器中绘制我们的用户界面。 2 Scaffold 组件的...

0
0
发表了博客
2019/03/05 18:41

【Flutter学习】之MaterialApp和Scaffold组件使用详解

一,前言:   MaterialApp和Scaffold是Flutter提供的两个Widget,其中: MaterialApp是一个方便的Widget,它封装了应用程序实现Material Design所需要的一些Widget。 Scaffold组件是Material Design布局结构的基本实现。此类提供了用于显示drawer、snackbar和底部sheet的API。MaterialApp 的 child 是 Scaffold Widget。 二,MaterialApp属性介绍                       * 22个参数 字段 类型 naviga...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
9 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部