Add column presets
This commit is contained in:
parent
6479d09196
commit
1bfc20673d
6 changed files with 50 additions and 34 deletions
|
@ -1,113 +0,0 @@
|
|||
import type { ColumnShorthand } from "./columns";
|
||||
import type { Table } from "./table";
|
||||
|
||||
export const ColumnOf = {
|
||||
PrimaryKey: {
|
||||
type: "INTEGER",
|
||||
primary: true,
|
||||
autoincrement: true,
|
||||
},
|
||||
|
||||
Text: {
|
||||
type: "TEXT",
|
||||
nullable: false,
|
||||
},
|
||||
|
||||
Int: {
|
||||
type: "INTEGER",
|
||||
nullable: false,
|
||||
},
|
||||
|
||||
Real: {
|
||||
type: "REAL",
|
||||
nullable: false,
|
||||
},
|
||||
|
||||
ForeignKey(otherTable: Table<unknown>, cascade = false): ColumnShorthand {
|
||||
return {
|
||||
type: otherTable.primaryColumnType(),
|
||||
references: otherTable.reference(),
|
||||
nullable: false,
|
||||
cascade,
|
||||
};
|
||||
},
|
||||
|
||||
Nullable: {
|
||||
Text: {
|
||||
type: "TEXT",
|
||||
nullable: true,
|
||||
},
|
||||
|
||||
Int: {
|
||||
type: "INTEGER",
|
||||
nullable: true,
|
||||
},
|
||||
|
||||
Real: {
|
||||
type: "REAL",
|
||||
nullable: true,
|
||||
},
|
||||
|
||||
ForeignKey(otherTable: Table<unknown>, cascade = false): ColumnShorthand {
|
||||
return {
|
||||
type: otherTable.primaryColumnType(),
|
||||
references: otherTable.reference(),
|
||||
nullable: true,
|
||||
cascade,
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
Unique: {
|
||||
Text: {
|
||||
type: "TEXT",
|
||||
nullable: false,
|
||||
unique: true,
|
||||
},
|
||||
|
||||
Int: {
|
||||
type: "INTEGER",
|
||||
nullable: false,
|
||||
unique: true,
|
||||
},
|
||||
|
||||
Real: {
|
||||
type: "REAL",
|
||||
nullable: false,
|
||||
unique: true,
|
||||
},
|
||||
|
||||
ForeignKey(otherTable: Table<unknown>, cascade = false): ColumnShorthand {
|
||||
return {
|
||||
type: otherTable.primaryColumnType(),
|
||||
references: otherTable.reference(),
|
||||
nullable: false,
|
||||
unique: true,
|
||||
cascade,
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
Defaulted: {
|
||||
Text(defaultValue: string): ColumnShorthand {
|
||||
return {
|
||||
type: "TEXT",
|
||||
default: defaultValue,
|
||||
};
|
||||
},
|
||||
|
||||
Int(defaultValue: number): ColumnShorthand {
|
||||
return {
|
||||
type: "INTEGER",
|
||||
default: defaultValue,
|
||||
} as const;
|
||||
},
|
||||
|
||||
Real(defaultValue: number): ColumnShorthand {
|
||||
return {
|
||||
type: "REAL",
|
||||
default: defaultValue,
|
||||
} as const;
|
||||
},
|
||||
},
|
||||
} as const;
|
Loading…
Add table
Add a link
Reference in a new issue