mysql-querybuilder
v0.0.2
Published
A yet very simple orm for mysql mainly for large inserts
Downloads
3
Readme
query-builder
A yet simple orm, mainly made for data2model
Requires
Uses dotenv to store your credentials. You'll need a .env file in your apps root dir like:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
Usage
upsert(table, fields)
// fields is a Map() holding multiple Map()s, for example:
var a = new Map();
a.set(0, new Map([['columnName', 'valueToInsert], ['columnName', 'valueToInsert]])
a.set(1, new Map([['columnName', 'valueToInsert], ['columnName', 'valueToInsert]])
insert(table, fields)
// same as upsert
loadDataInfileString(file, table, createString, SetString, options = {})
// all but options are just strings, the strings are generated by another package, I'll merge them ASAP
// options has to be an object like
let options = {
encoding: 'utf8',
delimiter: '"',
enclosedBy: '\t'
}
createTable(table, fieldsOrLike)
// if fieldsOrLike is a string it will create a table LIKE it, if not it takes a Map() like
let fields = new Map([['columnName', 'type(e.g. VARCHAR(100)]])'
// You can use any valid mysql datatype
createTableIfNotExists(table, fieldsOrLike, options = {checkIfExists: true})
// same as above, but checks if the table exists
copyTableData(from, to, fields, options = {})
// if no options are passed, it will run a 'ON DUPLICATE KEY UPDATE'. If you only want to insert, pass
// let options = {onDuplicateKeyUpdate:false}
// as options
// fields is a Map() like
let fromTo = new Map([['fieldInFromTable', 'fieldInToTable']]);
select(table, options)
// table is a string, options is a Map() like:
select('testTable0815', new Map([
['whereIn', new Map([
['testColumn1', [50, 51]
]])],
['select', ['id', 'updated_at', 'testColumn2', 'testColumn1']]]));
update(table, options)
// quite similar to select