테이블에 열을 추가 한 다음 마이그레이션의 일부로 열을 채우기 위해 일부 작업을 수행하고 싶습니다. 열을 채우려면 코드에서 일부 조작이 필요합니다.Knex 마이그레이션 내부에서 업데이트 실행
Users [user_id, first_name, last_name] 및 Orders [order_id, user_id, other_field_1, other_field_2]의 두 테이블을 고려하십시오.
그리고 기능
var getNickName = function(user_row) {
//do a bunch of javascripty stuff here
//based on user_row.first_name and user_row.last_name.
//i.e., stuff not possible in SQL
return 'nickname';
}
나는 Orders 테이블에 'user_nick_name'필드를 추가하는 knex 마이그레이션을 할 수 있습니다. 그런 다음 getNickName()의 출력으로 새 열을 업데이트합니다.
트랜잭션이 필요합니다.
나는 주문에 열을 추가 한 다음 모든 주문을 선택하고 수행중인 주문을 반복해야한다고 알고 있습니다. 사용자 행을 getNickName에 전달한 다음 값을 설정하는 사용자 테이블에서 업데이트를 호출하는 데 사용합니다.
트랜잭션이 관련되어있을 때이 모든 것에 대한 knex 구문을 얻을 수없는 것 같습니다.