| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { ColumnBuilder } from "../../column-builder.js";
- import { Column } from "../../column.js";
- import { entityKind } from "../../entity.js";
- import { ForeignKeyBuilder } from "../foreign-keys.js";
- import { uniqueKeyName } from "../unique-constraint.js";
- class SQLiteColumnBuilder extends ColumnBuilder {
- static [entityKind] = "SQLiteColumnBuilder";
- foreignKeyConfigs = [];
- references(ref, actions = {}) {
- this.foreignKeyConfigs.push({ ref, actions });
- return this;
- }
- unique(name) {
- this.config.isUnique = true;
- this.config.uniqueName = name;
- return this;
- }
- generatedAlwaysAs(as, config) {
- this.config.generated = {
- as,
- type: "always",
- mode: config?.mode ?? "virtual"
- };
- return this;
- }
- /** @internal */
- buildForeignKeys(column, table) {
- return this.foreignKeyConfigs.map(({ ref, actions }) => {
- return ((ref2, actions2) => {
- const builder = new ForeignKeyBuilder(() => {
- const foreignColumn = ref2();
- return { columns: [column], foreignColumns: [foreignColumn] };
- });
- if (actions2.onUpdate) {
- builder.onUpdate(actions2.onUpdate);
- }
- if (actions2.onDelete) {
- builder.onDelete(actions2.onDelete);
- }
- return builder.build(table);
- })(ref, actions);
- });
- }
- }
- class SQLiteColumn extends Column {
- constructor(table, config) {
- if (!config.uniqueName) {
- config.uniqueName = uniqueKeyName(table, [config.name]);
- }
- super(table, config);
- this.table = table;
- }
- static [entityKind] = "SQLiteColumn";
- }
- export {
- SQLiteColumn,
- SQLiteColumnBuilder
- };
- //# sourceMappingURL=common.js.map
|