1. 文件加载规则

引用官方的说法:

框架在加载文件时会进行转换,因为文件命名风格和 API 风格存在差异。我们推荐文件使用下划线,而 API 使用驼峰。比如 app/service/user_info.js 会转换成 app.service.userInfo

框架也支持连字符和驼峰的方式

  • app/service/user-info.js => app.service.userInfo
  • app/service/userInfo.js => app.service.userInfo

Loader 还提供了 caseStyle 强制指定首字母大小写,比如加载 model 时 API 首字母大写,app/model/user.js=> app.model.User,就可以指定 caseStyle: 'upper'

*** controller、service 文件加载 小驼峰对应文件名而不是类名,model 文件加载 大驼峰对应文件名而不是类名 ***

2. egg-sequelize

 'use strict';
const snowflake = require('node-snowflake').Snowflake; module.exports = app => {
const { STRING, INTEGER, DATE } = app.Sequelize; const SysUser = app.model.define(
'sys_user',
{
id: {
type: STRING(36),
primaryKey: true,
defaultValue: snowflake.nextId(),
},
createBy: { type: STRING(36), field: 'create_by' },
createDate: { type: DATE, field: 'create_date' },
updateBy: { type: STRING(36), field: 'update_by' },
updateDate: { type: DATE, field: 'update_date' },
enableFlag: { type: INTEGER, defaultValue: '1', field: 'enable_flag' },
rules: STRING,
userName: { type: STRING, field: 'user_name' },
passWord: { type: STRING, field: 'pass_word' },
notes: STRING,
userCode: { type: STRING, field: 'user_code' },
lastLoginTime: { type: STRING, field: 'last_login_time' },
},
{
timestamps: false,
freezeTableName: true,
underscored: false,
createdAt: 'create_date',
updatedAt: 'update_date',
}
); // underscored:不使用驼峰样式自动添加属性,而是下划线样式 [ createdAt => created_at ]
// timestamps:去除createAt updateAt
// freezeTableName : 使用自定义表名, return SysUser;
};
field:数据库字段名
defaultValue:默认值

  

egg 使用手记(一)的更多相关文章

  1. 随手记-egg入门

    egg 入门 https://eggjs.org/zh-cn/intro/quickstart.html 1.建立项目目录2.  npm i egg --save   && npm i ...

  2. [小北De编程手记] : Lesson 05 玩转 xUnit.Net 之 从Assert谈UT框架实践

    这一篇,本文会介绍一下基本的断言概念,但重点会放在企业级单元测试的相关功能上面.下面来跟大家分享一下xUnit.Net的断言,主要涉及到以下内容: 关于断言的概念 xUnit.Net常用的断言 关于单 ...

  3. Linux.NET实战手记—自己动手改泥鳅(上)

    各位读者大家好,不知各位读者有否阅读在下的前一个系列<Linux.NET 学习手记>,在前一个系列中,我们从Linux中Mono的编译安装开始,到Jexus服务器的介绍,以及如何在Linu ...

  4. Linux.NET学习手记(7)

    前一篇中,我们简单的讲述了下如何在Linux.NET中部署第一个ASP.NET MVC 5.0的程序.而目前微软已经提出OWIN并致力于发展VNext,接下来系列中,我们将会向OWIN方向转战. 早在 ...

  5. Linux.NET学习手记(8)

    上一回合中,我们讲解了Linux.NET面对OWIN需要做出的准备,以及介绍了如何将两个支持OWIN协议的框架:SignalR以及NancyFX以OwinHost的方式部署到Linux.NET当中.这 ...

  6. 关于《Linux.NET学习手记(8)》的补充说明

    早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...

  7. U3D DrawCall优化手记

    在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...

  8. 信息系统实践手记5-CACHE设计一例

    说明:信息系统实践手记系列是系笔者在平时研发中先后遇到的大小的问题,也许朴实和细微,但往往却是经常遇到的问题.笔者对其中比较典型的加以收集,描述,归纳和分享. 摘要:此文描述了笔者接触过的部分信息系统 ...

  9. 信息系统实践手记6-JS调用Flex的性能问题一例

    说明:信息系统实践手记系列是系笔者在平时研发中先后遇到的大小的问题,也许朴实和细微,但往往却是经常遇到的问题.笔者对其中比较典型的加以收集,描述,归纳和分享. 摘要:此文描述了笔者接触过的部分信息系统 ...

随机推荐

  1. [洛谷3041]视频游戏的连击Video Game Combos

    题目描述 Bessie is playing a video game! In the game, the three letters 'A', 'B', and 'C' are the only v ...

  2. 并发-HashMap和HashTable源码分析

    HashMap和HashTable源码分析 参考: https://blog.csdn.net/luanlouis/article/details/41576373 http://www.cnblog ...

  3. 未来简史之数据主义(Dataism)

    https://www.jianshu.com/p/8147239c9cb0?from=singlemessage junjguo 关注 2017.04.24 22:08* 字数 8116 阅读 31 ...

  4. python 获取探针页面,自动查询公司出口

    在一些渗透当中,我们需要批量探针出口来达到我们的目的. 所以就有了这个丑陋简洁的小脚本. #!/usr/bin/env python #-*- coding:utf- -*- import sys i ...

  5. Java编程时部分快捷键

    alt + / 内容助理 配置:Window->properties->keys->查看alt + /的配置,然后解除当前的配置->搜索content assist->解 ...

  6. Git迁移 从SVN到Git

    Migrating from SVN to Git 首先我们需要在Stach或者GitHub上新建一个Repository, 拿到它的URL. 接下来参照如下步骤 : At first we shou ...

  7. js 小复习2

    1.数组 findIndex()  indexOf() // findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. function isBigEnough(ele ...

  8. 虚拟主机(多站点配置)的实现--centos上的实现

    Apache中配置多主机多站点,可以通过两种方式实现 将同一个域名的不同端口映射到不同的站点(虚拟主机) 将同一个端口映射成不同的域名,不同的域名映射到不同的站点 两种方法可以同时存在,局域网通过   ...

  9. 卸载oracle11g

    完全卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务.2. 开始->程序->Oracle - OraHome ...

  10. Java实现数组去除重复数据的方法详解

    一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer ...