资讯专栏INFORMATION COLUMN

sequelize-cli 使用记录

Michael_Ding / 2521人阅读

摘要:初始化项目安装注意是要依赖于和的。执行迁移执行上面命令,会在数据库中创建表和表。总结至此,我们成功使用创建数据库和表,并插入默认数据了。

0. 初始化项目
$ npm init
1. 安装 sequelize-cli
$ npm install --save sequelize-cli sequelize mysql2

注意sequelize-cli 是要依赖于 sequelizemysql2 的。

2. 生成 sequelize 目录
$ node_modules/.bin/sequelize init

执行上面命令,会生成以下几个文件夹:

config:包含一个 config.json 文件

models:包含一个 index.js 文件

migrations:空文件夹

seeders:空文件夹

3. 配置连接数据库的信息

config/config.json 文件里的信息修改为本机数据库的信息:

{
  "development": {
    "username": "root",
    "password": "123456",
    "database": "database_development",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "test": {
    "username": "root",
    "password": "123456",
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "production": {
    "username": "root",
    "password": "123456",
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}

注意password 字段是字符串类型,切勿设置为数字类型。

4. 创建数据库
$ node_modules/.bin/sequelize db:create

执行上面命令,会一句 config/config.json 文件所配置的创建 database_development 数据库。

5. 生成模型文件和迁移文件
$ node_modules/.bin/sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string

执行上面命令会:

models 文件夹里生成一个 user.js 文件

migrations 文件夹里生成一个 20190210132709-create-user.js 文件

注意这里,我把 20190210132709-create-user.js 文件里的 createdAtupdatedAt 两个字段中的 allowNull 改成了 true,避免在后面的执行种子文件操作中报错。

6. 执行迁移
$ node_modules/.bin/sequelize db:migrate

执行上面命令,会在 database_development 数据库中创建 sequelizemeta 表和 users 表。

users 表里面长这样:

7. 生成种子文件
$ node_modules/.bin/sequelize seed:generate --name demo-user

执行上面命令,会在 seeders 文件夹里生成一个 20190210132832-demo-user.js 文件,然后我们将该文件修改成以下这样:

"use strict";

module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.bulkInsert("Users", [{
        firstName: "John",
        lastName: "Doe",
        email: "demo@demo.com"
      }], {});
  },

  down: (queryInterface, Sequelize) => {
    return queryInterface.bulkDelete("Users", null, {});
  }
};
8. 执行种子文件
$ node_modules/.bin/sequelize db:seed:all

执行上面命令,会在 database_development 数据库的 users 表中插入一条数据。

9. 总结

至此,我们成功使用 sequelize-cli 创建数据库和表,并插入默认数据了。更多详细信息,请参阅 这里。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/48466.html

相关文章

  • sequelize-cli 使用记录

    摘要:初始化项目安装注意是要依赖于和的。执行迁移执行上面命令,会在数据库中创建表和表。总结至此,我们成功使用创建数据库和表,并插入默认数据了。 0. 初始化项目 $ npm init 1. 安装 sequelize-cli $ npm install --save sequelize-cli sequelize mysql2 注意:sequelize-cli 是要依赖于 sequelize...

    TalkingData 评论0 收藏0
  • hapi框架搭建记录(三):Joi数据校验和Sequelize(数据迁移、填充数据)

    摘要:框架,用官网的简介来说就是是构建应用程序和服务的丰富框架,它使开发人员能够专注于编写可重用的应用程序逻辑,而不是花时间构建基础设施。用自己的话简单来说,就是个类似,之类的服务基础框架。就类比记录创建日志。 showImg(https://segmentfault.com/img/bVbrV3m?w=572&h=350); hapi框架,用官网的简介来说就是:Hapi是构建应用程序和服...

    CatalpaFlat 评论0 收藏0
  • 解析的主机记录是什么情况-域名解析里面的A记录是什么意思?

    摘要:举例使用域名讲解怎样添加记录,一般在域名管理面板会有域名解析。原则上,为缓存时间,数值越小,修改记录生效时间越快域名解析里面的记录是什么意思域名解析中一般有记录与记录记录是用来指定主机名或域名对应的地址记录。什么是域名A记录,怎样添加A记录?一、什么是A记录  A记录全称Address记录,又称IP指向,是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的...

    hedge_hog 评论0 收藏0
  • kafka官方文档翻译(一)

    摘要:一个数据流平台有三个关键的功能发布和订阅记录流,类似于消息队列或企业消息传递系统。构建转换或响应数据流的实时流应用程序。维护组中成员资格的过程由协议动态处理。在高级别提供以下保证生产者发送到特定主题分区的消息将按其发送顺序附加。 Introduction 一个数据流平台有三个关键的功能: 发布和订阅记录流,类似于消息队列或企业消息传递系统。 以容错的持久方式存储记录流。 处理正在发生...

    233jl 评论0 收藏0
  • Node.js学习之路17——DNS模块介绍

    摘要:在中,提供模块,以实现域名查找及域名解析的处理。方法用于将一个域名解析为一组记录。记录是域名服务器记录,用来指定该域名由哪个服务器进行解析。回调函数有两个参数,是域名解析失败时触发的错误对象,参数为一个数组,其中存放了所有获取到的记录。 1. DNS 在Node.js中,提供DNS模块,以实现域名查找及域名解析的处理。 在DNS模块中,提供了三个主方法及一系列便捷方法。 reso...

    roadtogeek 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<