Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
east-rethink
Advanced tools
rethinkdb adapter for east (node.js database migration tool) which uses pensuer
All executed migrations names will be stored at migrations
table in the
current database. Object with following properties will be passed to migrate
and rollback
functions:
db
- instance of pensuernpm install east east-rethink -g
alternatively you could install it locally
go to project dir and run
east init
create .eastrc
file at current directory
{
"adapter": "east-rethink",
"tables": ["card", "group", "user"],
"database": {
"name": "mydatabase",
"connection": {
"host": "localhost",
"port": 28015
}
}
}
where
tables
is an array of the tables you wish to connect to in your database.database
is a json object with the following properties: name
- database name, connection
- a json object with host
and port
providing the host name and port number for your database respectively.now we can create some migrations
east create apples
east create bananas
created files will looks like this one
exports.migrate = function(client, done) {
var db = client.db;
done();
};
exports.rollback = function(client, done) {
var db = client.db;
done();
};
edit created files and insert
to 1_apples
exports.migrate = function(client, done) {
var db = client.db;
db.card.insert( { id: 1, type: 'apple', color: 'red' }, (err, results) => {
if (err) return done(err);
return done(null);
});
};
exports.rollback = function(client, done) {
var db = client.db;
db.card.remove({ id: 1 }, (err) => {
if (err) return done(err);
return done(null);
});
};
to 2_bananas
exports.migrate = function(client, done) {
var db = client.db;
db.card.insert( { id: 2, type: 'banana', color: 'yellow' }, (err, results) => {
if (err) return done(err);
return done(null);
});
};
exports.rollback = function(client, done) {
var db = client.db;
db.card.remove({ id: 2 }, (err) => {
if (err) return done(err);
return done(null);
});
};
now we can execute our migrations
east migrate
output
target migrations:
1_apples
2_bananas
migrate `1_apples`
migration done
migrate `2_bananas`
migration done
and roll them back
east rollback
output
target migrations:
2_bananas
1_apples
rollback `2_bananas`
migration successfully rolled back
rollback `1_apples`
migration successfully rolled back
you can specify one or several particular migrations for migrate/rollback e.g.
east migrate 1_apples
or
east migrate 1_apples 2_bananas
Run east -h
to see all commands, east <command> -h
to see detail command help,
see also east page for command examples.
run east tests with this adapter
FAQs
rethinkdb adapter for "east" (node.js database migration tool)
The npm package east-rethink receives a total of 0 weekly downloads. As such, east-rethink popularity was classified as not popular.
We found that east-rethink demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.