ignore / ignoreSheets(@ignore / @@ignore)
Prisma の @ignore(フィールドレベル)と @@ignore(モデルレベル)に相当する機能です。
スキーマ版とコンストラクタ版
CLI を使う場合、この設定は schema.prisma に書きます。GAS エディタだけで使う場合は GassmaClient のコンストラクタに渡します(このページの以降の例はコンストラクタ版です)。
| 書き方 | |
|---|---|
| スキーマ(CLI) | @ignore / @@ignore |
| コンストラクタ(GAS エディタ) | ignore: { ... } / ignoreSheets: [ ... ] |
model Users {
id Int @id
name String
secretColumn String @ignore
}
model Logs {
id Int @id
message String
@@ignore
}
スキーマでの書き方はスキーマにまとめています。
ignore(フィールドレベル)
指定したフィールドを全操作から完全に除外します。
const gassma = new Gassma.GassmaClient({
ignore: {
Users: ["secretColumn", "internalData"],
},
});
// 読み取り結果から除外される
gassma.Users.findMany({});
// => [{ id: 1, name: "Alice" }](secretColumn, internalData は含まれない)
// 書き込みデータからも除外される
gassma.Users.create({
data: { name: "Alice", secretColumn: "xxx" },
});
// => secretColumn は無視される
単一カラムの場合は文字列で指定できます。
ignore: {
Users: "secretColumn",
}
除外される箇所
- 読み取り結果: find / create / update / delete / upsert の返り値
- 書き込みデータ: create / createMany / upsert の data
- where 条件: where 句からも除外
グローバル omit との違い
ignore | グローバル omit | |
|---|---|---|
| オーバーライド | 不可 | omit: \{field: false\} で無効化可能 |
| 書き込み除外 | ✅ | ❌(読み取りのみ) |
| where 除外 | ✅ | ❌ |
ignoreSheets(モデルレベル)
指定したシートをクライアントから完全に除外します。
const gassma = new Gassma.GassmaClient({
ignoreSheets: ["Logs", "Temp"],
});
// gassma.Logs → undefined(除外済み)
// gassma.Users → 通常通り利用可能
単一シートの場合は文字列で指定できます。
ignoreSheets: "Logs",
注記
@@ignore / @ignore はクライアントから見えなくするだけで、シートや列そのものには手を付けません。migrate / db push でも作成対象一覧に残るため、--accept-data-loss を付けても削除されません。クライアントには出さずにシートだけ残したい場合に使えます(消したくないシートを守る)。