NestJS - Database with TypeORM
You want to create a migration that renames a column 'username' to 'user_name' in the 'accounts' table and can be reverted. Which
up() and down() methods are correct?up() and down() methods are correct?ALTER TABLE table_name RENAME COLUMN old_name TO new_name.async up(queryRunner) {
await queryRunner.query(`ALTER TABLE accounts RENAME COLUMN username TO user_name`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE accounts RENAME COLUMN user_name TO username`);
} uses correct syntax for both up() and down() to rename and revert the column name. async up(queryRunner) {
await queryRunner.query(`ALTER TABLE accounts CHANGE username user_name varchar(255)`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE accounts CHANGE user_name username varchar(255)`);
} uses MySQL-specific CHANGE syntax which may not be portable. async up(queryRunner) {
await queryRunner.query(`ALTER TABLE accounts DROP COLUMN username`);
await queryRunner.query(`ALTER TABLE accounts ADD COLUMN user_name varchar(255)`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE accounts DROP COLUMN user_name`);
await queryRunner.query(`ALTER TABLE accounts ADD COLUMN username varchar(255)`);
} drops and adds columns, losing data. async up(queryRunner) {
await queryRunner.query(`RENAME COLUMN username TO user_name`);
}
async down(queryRunner) {
await queryRunner.query(`RENAME COLUMN user_name TO username`);
} misses the table name in the query, causing error.15+ quiz questions · All difficulty levels · Free
Free Signup - Practice All Questions