代码之家  ›  专栏  ›  技术社区  ›  Tri

我们是否应该在对模型进行更改后使用Sequelize手动修改迁移文件?

  •  0
  • Tri  · 技术社区  · 6 年前

    我是新来的 ExpressJS公司 以前。

    在烧瓶里,我们可以用 烧瓶炼金术 作为ORM。

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        username = db.Column(db.String())
    

    阿伦比语 烧瓶迁移 :

    flask db migrate -m 'migrate comment
    

    如果要升级,可以使用以下命令:

    flask db upgrade
    

    这些改变将在我们的数据库中实现。

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        username = db.Column(db.String())
        email = db.Column(db.String(120))
    

    运行以下命令后,将在迁移文件中自动生成新列: flask db migrate command ,然后升级为: flask db upgrade

    现在,我学会使用 ExpressJS公司 ,我发现 续集 ExpressJS公司 现在我想做和以前一样的功能 阿伦比语 / 烧瓶迁移

    我读了 docs

    npx sequelize-cli model:generate --name User --attributes username:string
    

    它将生成如下模型:

    'use strict';
    module.exports = (sequelize, DataTypes) => {
      const User = sequelize.define('User', {
        username: DataTypes.STRING
      }, {});
      User.associate = function (models) {
        // associations can be defined here
      };
      return User;
    };
    

    npx sequelize-cli db:migrate
    

    1. 我们需要在上定义id列吗 model:generate
    2. 如果我们想在现有模型中添加一个新列,该怎么做。。?,任何类似的generate命令 到目前为止,我发现我们应该手动添加新列,然后运行 命令,它将生成一个空的迁移文件,然后手动更改迁移文件。
    3. 任何示例代码或参考任何教程如何做到这一点将非常感谢。
    0 回复  |  直到 6 年前
    推荐文章