| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { entityKind, is } from "../entity.js";
- import { SQL, sql } from "../sql/sql.js";
- import { gelSequenceWithSchema } from "./sequence.js";
- import { gelTableWithSchema } from "./table.js";
- class GelSchema {
- constructor(schemaName) {
- this.schemaName = schemaName;
- }
- static [entityKind] = "GelSchema";
- table = (name, columns, extraConfig) => {
- return gelTableWithSchema(name, columns, extraConfig, this.schemaName);
- };
- // view = ((name, columns) => {
- // return gelViewWithSchema(name, columns, this.schemaName);
- // }) as typeof gelView;
- // materializedView = ((name, columns) => {
- // return gelMaterializedViewWithSchema(name, columns, this.schemaName);
- // }) as typeof gelMaterializedView;
- // enum: typeof gelEnum = ((name, values) => {
- // return gelEnumWithSchema(name, values, this.schemaName);
- // });
- sequence = (name, options) => {
- return gelSequenceWithSchema(name, options, this.schemaName);
- };
- getSQL() {
- return new SQL([sql.identifier(this.schemaName)]);
- }
- shouldOmitSQLParens() {
- return true;
- }
- }
- function isGelSchema(obj) {
- return is(obj, GelSchema);
- }
- function gelSchema(name) {
- if (name === "public") {
- throw new Error(
- `You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use GelTable() instead of creating a schema`
- );
- }
- return new GelSchema(name);
- }
- export {
- GelSchema,
- gelSchema,
- isGelSchema
- };
- //# sourceMappingURL=schema.js.map
|