https://github.com/vapor-community/jobs-postgresql-driver
A PostgreSQL Persistance Layer for the Vapor Jobs framework
https://github.com/vapor-community/jobs-postgresql-driver
Last synced: about 2 months ago
JSON representation
A PostgreSQL Persistance Layer for the Vapor Jobs framework
- Host: GitHub
- URL: https://github.com/vapor-community/jobs-postgresql-driver
- Owner: vapor-community
- Created: 2019-02-22T13:41:21.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-30T05:38:55.000Z (almost 6 years ago)
- Last Synced: 2025-04-29T23:12:51.652Z (5 months ago)
- Language: Swift
- Size: 9.77 KB
- Stars: 4
- Watchers: 7
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JobsPostgreSQLDriver
A package that sits on top of the Jobs package (https://github.com/vapor-community/jobs) and implements PostgreSQL as a persistence layer.
# Installation
Add this to your Package.swift:```swift
.package(url: "https://github.com/vapor-community/jobs-postgresql-driver", from: "0.1.0")
```Create the `jobs` table in your database:
```swift
CREATE TABLE job (
id SERIAL PRIMARY KEY,
key character varying(255) NOT NULL,
job_id character varying(255) NOT NULL,
data bytea NOT NULL,
state character varying(255) NOT NULL,
created_at timestamp with time zone NOT NULL DEFAULT clock_timestamp(),
updated_at timestamp with time zone NOT NULL DEFAULT clock_timestamp()
);
CREATE INDEX job_key_idx ON job(key);
```Initialize the Jobs service and set the default database for the `JobModel` model in your `configure.swift`:
```swift
import Jobs
import JobsPostgreSQLDriver/// Register the Jobs service, with PostgreSQL persistence layer
services.register(JobsPersistenceLayer.self) { container -> JobsPostgreSQLDriver in
return JobsPostgreSQLDriver(databaseIdentifier: .psql, container: container)
}
try jobs(&services)/// Set the default database on the JobModel
JobModel.defaultDatabase = .psql
```Follow the instructions in the `Jobs` package for more setup and configuration information.