我刚刚从另一个开发人员那里继承了一个数据库,我查看了DF__role_sett__custo__4589517F
表,按约束过滤。
DF_role_sett_custo
是什么意思 - 主要是字符串末尾的ID?
我知道role_setting_customer
表示4589517f
的默认约束,但我不确定最后一个ID import { UserClass } from './user';
import { query, Client } from 'faunadb';
import { FaunaClass } from '../class';
console.log('init', typeof UserClass, typeof FaunaClass, typeof query);
export function initialise (client : Client) {
return new Promise((resolve, reject) => {
const CLASSES : (typeof FaunaClass)[] = [
UserClass
];
let count = 0;
const total = CLASSES.length;
console.log('classes', CLASSES);
CLASSES.forEach(cl =>
client.query(query.CreateClass({ name: cl.className }))
.then(checkDone)
.catch(reject));
function checkDone () {
count += 1;
if (total === count) {
resolve();
}
}
})
.catch(e => {
console.log('on catch', UserClass);
console.log(e.message);
});
}
。
答案 0 :(得分:1)
如果在创建约束时没有命名约束,SQL Server将根据表和列为其分配一个随机名称。它附加一个随机数,以便它不会与现有的约束名冲突。
在几乎所有情况下,最好在创建约束时命名约束。然后,更容易在其他T-SQL语句中通过名称引用约束。
例如,在以下create语句
中CREATE TABLE dbo.some_table(
some_field INT NOT NULL DEFAULT(5)
);
默认约束将被分配一个随机名称。在这个声明中:
CREATE TABLE dbo.some_table(
some_field INT NOT NULL CONSTRAINT DF_some_table_some_field DEFAULT(5)
);
默认约束将具有您为其指定的名称(即DF_some_table_some_field
)。