@setupless/drizzle 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/cjs/pg/deletedAt.d.ts +12 -0
- package/dist/cjs/pg/deletedAt.js +16 -0
- package/dist/cjs/pg/index.d.ts +1 -0
- package/dist/cjs/pg/index.js +3 -1
- package/dist/cjs/sqlite/deletedAt.d.ts +7 -0
- package/dist/cjs/sqlite/deletedAt.js +13 -0
- package/dist/cjs/sqlite/index.d.ts +1 -0
- package/dist/cjs/sqlite/index.js +3 -1
- package/dist/pg/deletedAt.d.ts +12 -0
- package/dist/pg/deletedAt.js +13 -0
- package/dist/pg/index.d.ts +1 -0
- package/dist/pg/index.js +1 -0
- package/dist/sqlite/deletedAt.d.ts +7 -0
- package/dist/sqlite/deletedAt.js +10 -0
- package/dist/sqlite/index.d.ts +1 -0
- package/dist/sqlite/index.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,15 +13,17 @@ npm install @setupless/drizzle drizzle-orm
|
|
|
13
13
|
| `id("uuid")` | Generated UUID primary key | PostgreSQL, SQLite |
|
|
14
14
|
| `createdAt()` | Timestamp with the current time as its default | PostgreSQL, SQLite |
|
|
15
15
|
| `updatedAt()` | Timestamp set on insert and Drizzle-run updates | PostgreSQL, SQLite |
|
|
16
|
+
| `deletedAt()` | Nullable timestamp for soft deletion | PostgreSQL, SQLite |
|
|
16
17
|
| `timestamps()` | `createdAt()` and `updatedAt()` columns | PostgreSQL, SQLite |
|
|
17
18
|
|
|
18
19
|
```ts
|
|
19
20
|
import { pgTable } from "drizzle-orm/pg-core";
|
|
20
|
-
import { id, timestamps } from "@setupless/drizzle/pg";
|
|
21
|
+
import { deletedAt, id, timestamps } from "@setupless/drizzle/pg";
|
|
21
22
|
|
|
22
23
|
export const users = pgTable("users", {
|
|
23
24
|
...id(),
|
|
24
25
|
...timestamps({ withTimezone: true }),
|
|
26
|
+
...deletedAt({ withTimezone: true }),
|
|
25
27
|
});
|
|
26
28
|
```
|
|
27
29
|
|
|
@@ -29,6 +31,10 @@ Import from `/sqlite` for SQLite. The package root also exports `pg` and
|
|
|
29
31
|
`sqlite` namespaces. `updatedAt()` uses Drizzle's `$onUpdate` callback; it does
|
|
30
32
|
not create a database trigger for updates made outside Drizzle.
|
|
31
33
|
|
|
34
|
+
`deletedAt()` adds a nullable `deleted_at` column with no default or automatic
|
|
35
|
+
update. Set it when soft-deleting a row, and set it to `null` to restore the row.
|
|
36
|
+
Queries must filter out soft-deleted rows explicitly.
|
|
37
|
+
|
|
32
38
|
PostgreSQL timestamp helpers accept a `withTimezone` option. SQLite stores the
|
|
33
39
|
timestamps as text and does not accept this option.
|
|
34
40
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines a nullable `deletedAt` timestamp column named `deleted_at` for soft deletion.
|
|
3
|
+
* Has no default or automatic update. Set the timestamp when deleting a row.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Set `withTimezone` to `true` to use `timestamp with time zone`.
|
|
6
|
+
* Defaults to `timestamp` without a time zone.
|
|
7
|
+
*/
|
|
8
|
+
export default function deletedAt({ withTimezone, }?: {
|
|
9
|
+
withTimezone?: boolean;
|
|
10
|
+
}): {
|
|
11
|
+
deletedAt: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"deleted_at">;
|
|
12
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = deletedAt;
|
|
4
|
+
const pg_core_1 = require("drizzle-orm/pg-core");
|
|
5
|
+
/**
|
|
6
|
+
* Defines a nullable `deletedAt` timestamp column named `deleted_at` for soft deletion.
|
|
7
|
+
* Has no default or automatic update. Set the timestamp when deleting a row.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Set `withTimezone` to `true` to use `timestamp with time zone`.
|
|
10
|
+
* Defaults to `timestamp` without a time zone.
|
|
11
|
+
*/
|
|
12
|
+
function deletedAt({ withTimezone, } = {}) {
|
|
13
|
+
return {
|
|
14
|
+
deletedAt: (0, pg_core_1.timestamp)("deleted_at", { withTimezone }),
|
|
15
|
+
};
|
|
16
|
+
}
|
package/dist/cjs/pg/index.d.ts
CHANGED
package/dist/cjs/pg/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updatedAt = exports.timestamps = exports.id = exports.createdAt = void 0;
|
|
3
|
+
exports.updatedAt = exports.timestamps = exports.id = exports.deletedAt = exports.createdAt = void 0;
|
|
4
4
|
var createdAt_js_1 = require("./createdAt.js");
|
|
5
5
|
Object.defineProperty(exports, "createdAt", { enumerable: true, get: function () { return createdAt_js_1.default; } });
|
|
6
|
+
var deletedAt_js_1 = require("./deletedAt.js");
|
|
7
|
+
Object.defineProperty(exports, "deletedAt", { enumerable: true, get: function () { return deletedAt_js_1.default; } });
|
|
6
8
|
var id_js_1 = require("./id.js");
|
|
7
9
|
Object.defineProperty(exports, "id", { enumerable: true, get: function () { return id_js_1.default; } });
|
|
8
10
|
var timestamps_js_1 = require("./timestamps.js");
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines a nullable `deletedAt` text column named `deleted_at` for soft deletion.
|
|
3
|
+
* Has no default or automatic update. Set the timestamp text when deleting a row.
|
|
4
|
+
*/
|
|
5
|
+
export default function deletedAt(): {
|
|
6
|
+
deletedAt: import("drizzle-orm/sqlite-core").SQLiteTextBuilderInitial<"deleted_at", [string, ...string[]], number | undefined>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = deletedAt;
|
|
4
|
+
const sqlite_core_1 = require("drizzle-orm/sqlite-core");
|
|
5
|
+
/**
|
|
6
|
+
* Defines a nullable `deletedAt` text column named `deleted_at` for soft deletion.
|
|
7
|
+
* Has no default or automatic update. Set the timestamp text when deleting a row.
|
|
8
|
+
*/
|
|
9
|
+
function deletedAt() {
|
|
10
|
+
return {
|
|
11
|
+
deletedAt: (0, sqlite_core_1.text)("deleted_at"),
|
|
12
|
+
};
|
|
13
|
+
}
|
package/dist/cjs/sqlite/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updatedAt = exports.timestamps = exports.id = exports.createdAt = void 0;
|
|
3
|
+
exports.updatedAt = exports.timestamps = exports.id = exports.deletedAt = exports.createdAt = void 0;
|
|
4
4
|
var createdAt_js_1 = require("./createdAt.js");
|
|
5
5
|
Object.defineProperty(exports, "createdAt", { enumerable: true, get: function () { return createdAt_js_1.default; } });
|
|
6
|
+
var deletedAt_js_1 = require("./deletedAt.js");
|
|
7
|
+
Object.defineProperty(exports, "deletedAt", { enumerable: true, get: function () { return deletedAt_js_1.default; } });
|
|
6
8
|
var id_js_1 = require("./id.js");
|
|
7
9
|
Object.defineProperty(exports, "id", { enumerable: true, get: function () { return id_js_1.default; } });
|
|
8
10
|
var timestamps_js_1 = require("./timestamps.js");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines a nullable `deletedAt` timestamp column named `deleted_at` for soft deletion.
|
|
3
|
+
* Has no default or automatic update. Set the timestamp when deleting a row.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Set `withTimezone` to `true` to use `timestamp with time zone`.
|
|
6
|
+
* Defaults to `timestamp` without a time zone.
|
|
7
|
+
*/
|
|
8
|
+
export default function deletedAt({ withTimezone, }?: {
|
|
9
|
+
withTimezone?: boolean;
|
|
10
|
+
}): {
|
|
11
|
+
deletedAt: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"deleted_at">;
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { timestamp } from "drizzle-orm/pg-core";
|
|
2
|
+
/**
|
|
3
|
+
* Defines a nullable `deletedAt` timestamp column named `deleted_at` for soft deletion.
|
|
4
|
+
* Has no default or automatic update. Set the timestamp when deleting a row.
|
|
5
|
+
*
|
|
6
|
+
* @param options - Set `withTimezone` to `true` to use `timestamp with time zone`.
|
|
7
|
+
* Defaults to `timestamp` without a time zone.
|
|
8
|
+
*/
|
|
9
|
+
export default function deletedAt({ withTimezone, } = {}) {
|
|
10
|
+
return {
|
|
11
|
+
deletedAt: timestamp("deleted_at", { withTimezone }),
|
|
12
|
+
};
|
|
13
|
+
}
|
package/dist/pg/index.d.ts
CHANGED
package/dist/pg/index.js
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines a nullable `deletedAt` text column named `deleted_at` for soft deletion.
|
|
3
|
+
* Has no default or automatic update. Set the timestamp text when deleting a row.
|
|
4
|
+
*/
|
|
5
|
+
export default function deletedAt(): {
|
|
6
|
+
deletedAt: import("drizzle-orm/sqlite-core").SQLiteTextBuilderInitial<"deleted_at", [string, ...string[]], number | undefined>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { text } from "drizzle-orm/sqlite-core";
|
|
2
|
+
/**
|
|
3
|
+
* Defines a nullable `deletedAt` text column named `deleted_at` for soft deletion.
|
|
4
|
+
* Has no default or automatic update. Set the timestamp text when deleting a row.
|
|
5
|
+
*/
|
|
6
|
+
export default function deletedAt() {
|
|
7
|
+
return {
|
|
8
|
+
deletedAt: text("deleted_at"),
|
|
9
|
+
};
|
|
10
|
+
}
|
package/dist/sqlite/index.d.ts
CHANGED
package/dist/sqlite/index.js
CHANGED