如何从数据库中删除ASP.NET标识表?现在我将以下表添加到我的数据库中:
我知道我可以写下面的内容:
DROP TABLE __MigrationHistory
DROP TABLE AspNetUserLogins
DROP TABLE AspNetUserRoles
DROP TABLE AspNetUserClaims
DROP TABLE AspNetRoles
DROP TABLE AspNetUsers
但是我想知道这是否是正确的方法,以及是否有更优雅的方法来删除ASP.NET身份表以及我可能遗漏的任何其他潜在痕迹。
答案 0 :(得分:0)
请注意:__MigrationHistory
不是Identity框架的一部分 - 它是存储有关EF-Migrations的DB状态的信息的表。如果您想保留迁移状态并继续使用迁移,请不要对此表执行任何操作(除非您知道自己在做什么)
我会指出(似乎你已经得到了答案)如果你通过迁移创建了这些表,你可以通过
回滚到“状态零”update-database -target:0
这会将您的所有迁移都恢复到开始状态,您将只剩下一个表__MigrationHistory
答案 1 :(得分:0)
您必须从数据库中删除以下表格。
const {
Crypto
} = require("@peculiar/webcrypto");
const crypto = new Crypto();
const btoa = require('btoa');
const CC = "Hello World";
const b_size = CC.length;
P = new ArrayBuffer(b_size);
C = new Uint8Array(P);
function iKey() {
return crypto.subtle.importKey(
"jwk", {
kty: "RSA",
e: "AQAB",
n: "gfJ-DTivOto0B1qvI9jGQgLvPvEkfVzbhf4-GM_XGrSyJRa1ASOZV89qpBIYDq8lwSwxibybvRqROhNavH6X_xQux9TAhDVBYZv8bH7pR4cfCLQrNvbpFRan3XBv7zeifGThyJGJ8R0BJTh4R4K9cu7kE48Ig1GO6iIx6emnYaQBhRUHsLfxfhQCwlHLraOXcP_RPM9TfZRO4dVHdRrdX1B60B6OqwU1ojRmo1oLiJCN6KjwMsYbSbYnflt_uyFUGxxBQE-1qnhBkarm10pgIgVDiSIn8XKQBxLg-Ao6cc7pXytp7Bd--g45OKHinRKaSP-Ub8g3S9g4LV2Qt8UZbQ",
alg: "RSA-OAEP-256",
ext: true
}, {
name: "RSA-OAEP",
hash: {
name: "SHA-256"
}
},
true,
["encrypt"]
);
}
/** COMMENTED THIS LINE OUT */
// e_key = iKey();
for (i = 0; i < b_size; ++i) {
C[i] = CC.charCodeAt(i);
}
function crypt(key) { // <-- Notice we now pass in the key via a param
return new Promise((resolve, reject) => {
crypto.subtle.encrypt({
name: "RSA-OAEP",
hash: {
name: "SHA-256"
}
},
key, P
).then(function (encrypted) {
resolve(new Uint8Array(encrypted));
}).catch(function (err) {
reject(err);
});
})
}
function someGlobalFunction(encryptedValue) {
console.log("\r\n\r\nFROM GLOBAL FUNCTION:\r\n\r\n");
console.log(encryptedValue);
console.log("This is some global function");
console.log("I am taking the encryped value as a param and doing something with it");
console.log("For now, I just logged it to console..(see above)");
}
iKey().then(e_key => {
crypt(e_key).then(encryped => { // <-- Notice we now pass in the key via a param
someGlobalFunction(encryped);
}).catch(error => {
console.error(error);
})
}).catch(err => {
console.error(err);
});
如果数据库中已经存在孤立模式,则还需要删除身份模式。