mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-09 00:18:00 +01:00
chore: add another migration that remigrates the proper way (#3719)
## About the changes <!-- Describe the changes introduced. What are they and why are they being introduced? Feel free to also add screenshots or steps to view the changes if they're visual. --> Adds a migration that renames `token_name` back to `username`, then adds a new optional column named `token_name` ## Discussion points <!-- Anything about the PR you'd like to discuss before it gets merged? Got any questions or doubts? --> I've added fallbacks for resolving username/tokenname on insert and on making rows from results. But this adds another column renaming, which is worth discussing properly
This commit is contained in:
parent
9943179393
commit
534e1f1378
@ -39,7 +39,7 @@ const tokenRowReducer = (acc, tokenRow) => {
|
|||||||
if (!acc[tokenRow.secret]) {
|
if (!acc[tokenRow.secret]) {
|
||||||
acc[tokenRow.secret] = {
|
acc[tokenRow.secret] = {
|
||||||
secret: token.secret,
|
secret: token.secret,
|
||||||
tokenName: token.token_name,
|
tokenName: token.token_name ? token.token_name : token.username,
|
||||||
type: token.type.toLowerCase(),
|
type: token.type.toLowerCase(),
|
||||||
project: ALL,
|
project: ALL,
|
||||||
projects: [ALL],
|
projects: [ALL],
|
||||||
@ -48,7 +48,7 @@ const tokenRowReducer = (acc, tokenRow) => {
|
|||||||
createdAt: token.created_at,
|
createdAt: token.created_at,
|
||||||
alias: token.alias,
|
alias: token.alias,
|
||||||
seenAt: token.seen_at,
|
seenAt: token.seen_at,
|
||||||
username: token.token_name,
|
username: token.token_name ? token.token_name : token.username,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
const currentToken = acc[tokenRow.secret];
|
const currentToken = acc[tokenRow.secret];
|
||||||
@ -63,6 +63,7 @@ const tokenRowReducer = (acc, tokenRow) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const toRow = (newToken: IApiTokenCreate) => ({
|
const toRow = (newToken: IApiTokenCreate) => ({
|
||||||
|
username: newToken.tokenName ?? newToken.username,
|
||||||
token_name: newToken.tokenName ?? newToken.username,
|
token_name: newToken.tokenName ?? newToken.username,
|
||||||
secret: newToken.secret,
|
secret: newToken.secret,
|
||||||
type: newToken.type,
|
type: newToken.type,
|
||||||
@ -125,6 +126,7 @@ export class ApiTokenStore implements IApiTokenStore {
|
|||||||
)
|
)
|
||||||
.select(
|
.select(
|
||||||
'tokens.secret',
|
'tokens.secret',
|
||||||
|
'username',
|
||||||
'token_name',
|
'token_name',
|
||||||
'type',
|
'type',
|
||||||
'expires_at',
|
'expires_at',
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
/* eslint camelcase: "off" */
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
exports.up = function (db, cb) {
|
|
||||||
db.runSql(
|
|
||||||
`
|
|
||||||
ALTER TABLE api_tokens RENAME COLUMN username TO token_name;
|
|
||||||
`,
|
|
||||||
cb,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.down = function (db, cb) {
|
|
||||||
db.runSql(
|
|
||||||
`
|
|
||||||
ALTER TABLE api_tokens RENAME COLUMN token_name TO username;
|
|
||||||
`,
|
|
||||||
cb,
|
|
||||||
);
|
|
||||||
};
|
|
@ -0,0 +1,36 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
exports.up = function (db, callback) {
|
||||||
|
db.runSql(
|
||||||
|
`
|
||||||
|
SELECT * FROM migrations WHERE name = '/20230426110026-rename-api-token-username-field';
|
||||||
|
`,
|
||||||
|
(err, results) => {
|
||||||
|
if (results.rows.length > 0) {
|
||||||
|
db.runSql(
|
||||||
|
`
|
||||||
|
ALTER TABLE api_tokens RENAME COLUMN token_name TO username;
|
||||||
|
ALTER TABLE api_tokens ADD COLUMN "token_name" text;
|
||||||
|
UPDATE api_tokens SET token_name = username;
|
||||||
|
DELETE FROM migrations WHERE name = '/20230426110026-rename-api-token-username-field';
|
||||||
|
`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
db.runSql(
|
||||||
|
`
|
||||||
|
ALTER TABLE api_tokens ADD COLUMN "token_name" text;
|
||||||
|
UPDATE api_tokens SET token_name = username;
|
||||||
|
`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
callback();
|
||||||
|
},
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.down = function (db, callback) {
|
||||||
|
db.runSql(
|
||||||
|
`ALTER TABLE api_tokens DROP COLUMN IF EXISTS "token_name";`,
|
||||||
|
callback,
|
||||||
|
);
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user