我不确定如何使用Knex.js更改模式中的表。目前我有一个看起来像这样的表:
.createTable('users', function(table) {
table.increments('id')
table
.text('username')
.notNullable()
.unique()
table.text('name')
table
.text('email')
.notNullable()
.unique()
table.string('password').notNullable()
table
.text('profile_image')
.defaultTo('http://www.ecehh.org/wp-content/uploads/2018/02/avatar.jpg')
我想要做的是更改defaultTo
处的profile_image
。我从这里读到http://perkframework.com/v1/guides/database-migrations-knex.html “我们从不想在运行后编辑迁移文件,因为当我们运行knex migrate时:最新的knex将不会进行更改。迁移只会运行一次。”< / em>所以我想知道如何在不重新运行迁移的情况下更新它的值,然后放弃所有当前数据。
感谢阅读!
答案 0 :(得分:1)
是生产服务器吗?
从这个issue我认为这可行。
exports.up = knex => {
return knex.schema
.alterTable('users', table => {
table.text('profile_image').defaultTo('myurl').alter()
});
};
exports.down = knex => {
return knex.schema.alterTable('users', table => {
table.text('profile_image').defaultTo('myurl').alter()
});
};