【问题标题】:Add new column to existing database table将新列添加到现有数据库表
【发布时间】:2021-05-05 08:59:37
【问题描述】:

我已经使用node ace make:migration usernode ace make:model user 创建了一个模型和迁移,现在我想在用户模型中添加另一列。

在创建模型和迁移后如何添加另一个新列?

【问题讨论】:

    标签: typescript knex.js adonis.js


    【解决方案1】:

    这里是关于迁移的 KnexJS 文档:https://knexjs.org/#Schema-Building

    AdonisJS 文档:https://docs.adonisjs.com/guides/database/migrations#alter-example

    如何创建新列

    创建新的迁移文件

    node ace make:migration add_new_column --table=users
    

    更新迁移文件中的代码

    import BaseSchema from '@ioc:Adonis/Lucid/Schema'
    
    export default class Users extends BaseSchema {
      protected tableName = 'users'
    
      public async up () {
        this.schema.table(this.tableName, (table) => {
          // Create new column with table.<type>(<name>)
          table.text('my_new_column')
        })
      }
    
      public async down () {
        this.schema.table(this.tableName, (table) => {
          table.dropColumn('my_new_column')
        })
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 2014-10-18
      • 2014-02-21
      • 2014-06-23
      • 2014-02-15
      • 2015-08-15
      相关资源
      最近更新 更多