Knex: Knex.js рдФрд░ Postgres рдХреЗ рд╕рд╛рде рддрдм () рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЬрдире░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: knex/knex

рдореИрдВ рддреЛ () рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдкрдиреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдкрдХрдбрд╝реА рдЧрдИ рд╣реИ)ред
рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХрд╣рд╛рдВ рдЧрд▓рдд рд╣реВрдВ?

рдзрдиреНрдпрд╡рд╛рдж
рдПрдордПрди

var рд╡рд╛рджрд╛ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдмреНрд▓реВрдмрд░реНрдб');
var Knex = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('knex');
Knex.knex = Knex.initialize ({
рдЧреНрд░рд╛рд╣рдХ: 'pg',
рдХрдиреЗрдХреНрд╢рди: {
тАж
},
рдбрд┐рдмрдЧ: рд╕рдЪ
};
var knex = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('knex')ред knex;
knex.schema.createTable ('рд╡рд┐рднрд╛рдЧ', рдлрд╝рдВрдХреНрд╢рди (рддрд╛рд▓рд┐рдХрд╛) {
table.increments ('department_id')ред рдкреНрд░рд╛рдердорд┐рдХ ()ред рдиреЛрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп () рдирд╣реАрдВ;
table.string ('Department_name', 80) .unique ()ред notNullable ();
table.string ('building_name', 40);
})ред рддрдм (рдлрдВрдХреНрд╢рди () {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдЯреЗрдмрд▓ рдмрдирд╛рдИ рдЧрдИ рд╣реИ');
knex ('рд╡рд┐рднрд╛рдЧ') рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВред
[{рд╡рд┐рднрд╛рдЧ_рдирд╛рдо: 'рдиреИрдиреЛ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА', рдмрд┐рд▓реНрдбрд┐рдВрдЧ_рдирд╛рдо: 'рдмреНрд▓реЙрдХ-рдП'},
{рд╡рд┐рднрд╛рдЧ_рдирд╛рдо: 'рдореИрдХреЗрдирд┐рдХрд▓ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ', рднрд╡рди_рдирд╛рдо: 'рдмреНрд▓реЙрдХ-рд╕реА'}],
'Department_id'
);
})ред рддрдм (рдлрд╝рдВрдХреНрд╢рди () {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рд╡рд┐рднрд╛рдЧ рд╕рдореНрдорд┐рд▓рд┐рдд');
})ред catch (рдлрдВрдХреНрд╢рди (e) {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (рдИ);
};

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдкрдХреЛ return рдЕрдкрдирд╛ knex рд╕рдореНрдорд┐рд▓рд┐рдд рд╡рд┐рд╡рд░рдг рджреЗрдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдЗрд╕рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ ( then рдпрд╛ catch / caught ) рдЕрдиреНрдпрдерд╛ рдЖрдк рд╕рд┐рд░реНрдл builder рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рдЖрдк insert , select , from рдЖрджрд┐ рдЬреИрд╕реЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ - рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд╡реЗрд░реА рдмрд┐рд▓реНрдбрд░ рдкрд░ рд╣рд░ рд╡рд┐рдзрд┐ - рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред ред рдпрд╣ рдХреЗрд╡рд▓ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк then , catch / caught , lastly / finally рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ tap рдпрд╛ exec , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ Promise рдкреИрджрд╛ рдХрд░реЗрдЧрд╛, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреНрд╡реЗрд░реА рднреЗрдЬрддрд╛ рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЛ return рдЕрдкрдирд╛ knex рд╕рдореНрдорд┐рд▓рд┐рдд рд╡рд┐рд╡рд░рдг рджреЗрдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдЗрд╕рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ ( then рдпрд╛ catch / caught ) рдЕрдиреНрдпрдерд╛ рдЖрдк рд╕рд┐рд░реНрдл builder рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рдЖрдк insert , select , from рдЖрджрд┐ рдЬреИрд╕реЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ - рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд╡реЗрд░реА рдмрд┐рд▓реНрдбрд░ рдкрд░ рд╣рд░ рд╡рд┐рдзрд┐ - рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред ред рдпрд╣ рдХреЗрд╡рд▓ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк then , catch / caught , lastly / finally рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ tap рдпрд╛ exec , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ Promise рдкреИрджрд╛ рдХрд░реЗрдЧрд╛, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреНрд╡реЗрд░реА рднреЗрдЬрддрд╛ рд╣реИред

рдХреНрдиреЗрдХреНрд╕ рдФрд░ рдмреБрдХрд╢реЗрд▓реНрдлрд╝ рдорд╣рд╛рди рд╣реИрдВред рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

  • рдПрдордПрди

16 рдЬрдирд╡рд░реА 2014 рдХреЛ 13:17 рдкрд░, рдЬреЛрд╣рд╛рдиреНрд╕ рд▓реБрдореНрдкреЗ рдиреЗ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @ithub.com рд▓рд┐рдЦрд╛:

рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЕрдкрдиреЗ knex рдЗрдиреНрд╕рд░реНрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИ, рдпрд╛ рдЗрд╕рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдирд╛ рд╣реИ (рддрдм рддрдХ рдпрд╛ рдХреИрдЪ / рдХреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдЕрдиреНрдпрдерд╛ рдЖрдк рд╕рд┐рд░реНрдл рдПрдХ рдмрд┐рд▓реНрдбрд░ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рдЖрдк рдЗрдиреНрд╕рд░реНрдЯ, рд╕реЗрд▓реЗрдХреНрдЯ, рдбрд┐рдХреЗрдЯ рдЬреИрд╕реА рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрд╣рддреЗ рд╣реИрдВред - рдХреНрд╡реЗрд░реА рдмрд┐рд▓реНрдбрд░ рдкрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ - рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рддрднреА рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдкрдХрдбрд╝реЗрдВрдЧреЗ / рдкрдХрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗ, рдЕрдВрддрд┐рдо / рдЕрдВрдд рдореЗрдВ, рдЯреИрдк рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рдж рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдорд┐рд╕ рдмрдиреЗрдЧрд╛, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреНрд╡реЗрд░реА рднреЗрдЬрддрд╛ рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВред

рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mtom55 picture mtom55  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

marianomerlo picture marianomerlo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rarkins picture rarkins  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fsebbah picture fsebbah  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PaulOlteanu picture PaulOlteanu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ