<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ### egg.js 數據庫遷移 文檔:[https://eggjs.org/zh-cn/tutorials/sequelize.html](https://eggjs.org/zh-cn/tutorials/sequelize.html) ### sequelize 數據庫遷移命令 | 命令 | 含義 | | --- | --- | | sequelize db:migrate | 運行遷移文件 | | sequelize db:migrate:status | 列出所有遷移的狀態 | | sequelize db:migrate:undo | 隔離數據庫:遷移:撤消 | | sequelize db:migrate:undo:all | 還原所有運行的遷移 | | sequelize db:create | 創建由配置指定的數據庫 | | sequelize db:drop | 刪除由配置指定的數據庫 | ***** ### 配置 1. 安裝并配置[egg-sequelize](https://github.com/eggjs/egg-sequelize)插件(它會輔助我們將定義好的 Model 對象加載到 app 和 ctx 上)和[mysql2](https://github.com/sidorares/node-mysql2)模塊: ~~~ npm install --save egg-sequelize mysql2 ~~~ 2. 在`config/plugin.js`中引入 egg-sequelize 插件 ~~~ exports.sequelize = { enable: true, package: 'egg-sequelize', }; ~~~ 3. 在`config/config.default.js`中編寫 sequelize 配置 ![](https://box.kancloud.cn/ebe834d0833947bcc5f327828e8598d5_259x236.png) ``` config.sequelize = { dialect: 'mysql', host: '127.0.0.1', password: 'xxxx', port: 3306, database: 'friends', timezone: '+8:00', define: { freezeTableName: true } }; ``` 4. sequelize 提供了[sequelize-cli](https://github.com/sequelize/cli)工具來實現[Migrations](http://docs.sequelizejs.com/manual/tutorial/migrations.html),我們也可以在 egg 項目中引入 sequelize-cli。 ~~~ npm install --save-dev sequelize-cli ~~~ 5. 在 egg 項目中,我們希望將所有數據庫 Migrations 相關的內容都放在`database`目錄下,所以我們在項目根目錄下新建一個`.sequelizerc`配置文件: ~~~ 'use strict'; const path = require('path'); module.exports = { config: path.join(__dirname, 'database/config.json'), 'migrations-path': path.join(__dirname, 'database/migrations'), 'seeders-path': path.join(__dirname, 'database/seeders'), 'models-path': path.join(__dirname, 'app/model'), }; ~~~ 6. 初始化 Migrations 配置文件和目錄 ~~~ npx sequelize init:config npx sequelize init:migrations npx sequelize init:models ~~~ 7. 執行完后會生成`database/config.json`文件和`database/migrations`目錄,我們修改一下`database/config.json`中的內容,將其改成我們項目中使用的數據庫配置: ~~~ { "development": { "username": "root", "password": null, "database": "egg-sequelize-doc-default", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false } } ~~~ 8. 創建數據庫 `npx sequelize db:create` ***** ### 創建數據遷移表 ~~~ npx sequelize migration:generate --name=init-users ~~~ 1.執行完命令后,會在database / migrations / 目錄下生成數據表遷移文件,然后定義 ~~~ 'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { const { INTEGER, STRING, DATE, ENUM } = Sequelize; // 創建表 await queryInterface.createTable('users', { id: { type: INTEGER(20).UNSIGNED, primaryKey: true, autoIncrement: true }, username: { type: STRING(30), allowNull: false, defaultValue: '', comment: '用戶名稱', unique: true}, email: { type: STRING(160), allowNull: false, defaultValue: '', comment: '用戶郵箱', unique: true }, password: { type: STRING(200), allowNull: false, defaultValue: '' }, avatarUrl: { type: STRING(200), allowNull: true, defaultValue: '' }, mobile: { type: STRING(20), allowNull: false, defaultValue: '', comment: '用戶手機', unique: true }, prifix: { type: STRING(32), allowNull: false, defaultValue: '' }, abstract: { type: STRING(255), allowNull: true, defaultValue: '' }, gender: { type: ENUM, values: ['男','女','保密'], allowNull: true, defaultValue: '男', comment: '用戶性別'}, createdAt: DATE, updatedAt: DATE }, { engine: 'MYISAM' }); // 添加索引 queryInterface.addIndex('users', ['gender']) }, down: async queryInterface => { await queryInterface.dropTable('users') } }; ~~~ ***** ### 創建數據模型 app / model / user.js ![](https://box.kancloud.cn/2767c9761ef72ec7108cb68b5512c56e_936x297.png) >[danger] 引入日期處理類庫 Moment.js > npm install moment --save ~~~ 'use strict'; const moment = require('moment') module.exports = app => { const { STRING, INTEGER, DATE } = app.Sequelize; const User = app.model.define('users', { id: { type: INTEGER(20).UNSIGNED, primaryKey: true, autoIncrement: true }, username: { type: STRING(30), allowNull: false, defaultValue: '', comment: '用戶名稱', unique: true}, email: { type: STRING(160), allowNull: false, defaultValue: '', comment: '用戶郵箱', unique: true }, password: { type: STRING(200), allowNull: false, defaultValue: '' }, avatarUrl: { type: STRING(200), allowNull: true, defaultValue: '' }, mobile: { type: STRING(20), allowNull: false, defaultValue: '', comment: '用戶手機', unique: true }, prifix: { type: STRING(32), allowNull: false, defaultValue: '' }, abstract: { type: STRING(255), allowNull: true, defaultValue: '' }, gender: { type: ENUM, values: ['男','女','保密'], allowNull: true, defaultValue: '男', comment: '用戶性別'}, createdAt: {type: DATE, get() {return moment(this.getDataValue('createdAt')).format('YYYY-MM-DD HH:mm:ss')}}, updatedAt: {type: DATE, get() {return moment(this.getDataValue('updatedAt')).format('YYYY-MM-DD HH:mm:ss')}} }); return User; }; ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看