@fewer/adapter-postgres
Version:
A Fewer database adapter to connect to Postgres
48 lines • 1.6 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fewer_1 = require("fewer");
const index_1 = require("../index");
const config_1 = __importDefault(require("./config"));
const database = fewer_1.createDatabase({
adapter: new index_1.Adapter(Object.assign({}, config_1.default, { database: 'fewer_typo_tests' })),
});
const schema = fewer_1.createSchema()
.table(database, 'users', { primaryKey: 'id' }, t => ({
id: t.bigserial(),
first_name: t.string(),
last_name: t.string(),
}))
.table(database, 'posts', { primaryKey: 'id' }, t => ({
id: t.bigserial(),
title: t.string(),
user_id: t.bigint(),
subtitle: t.string(),
}));
const Users = fewer_1.createRepository(schema.tables.users);
const Posts = fewer_1.createRepository(schema.tables.posts);
const userPosts = fewer_1.createHasMany(Users, Posts, 'user_id');
const belongsToUser = fewer_1.createBelongsTo(Users, 'user_id');
function setup() {
return database.connect();
}
exports.setup = setup;
function teardown() {
return database.disconnect();
}
exports.teardown = teardown;
function setupUsers() {
return Users.create({
first_name: 'Emily',
last_name: 'Dobervich',
});
}
async function testPluck() {
await setupUsers();
const results = await Users.where({ first_name: 'Emily' }).pluck('first_name');
return results;
}
exports.testPluck = testPluck;
//# sourceMappingURL=basic.test.js.map