Π― ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ then () Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠΎΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΡΡΠΎΠΊ.
Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ, Π½ΠΎ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ (ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ).
ΠΠΎΠΆΠ΅Ρ ΠΊΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ, Π³Π΄Π΅ Ρ Π½Π΅ ΠΏΡΠ°Π²?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
MN
var Promise = require ('bluebird');
var Knex = require ('knex');
Knex.knex = Knex.initialize ({
ΠΊΠ»ΠΈΠ΅Π½Ρ: 'pg',
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅: {
β¦
},
ΠΎΡΠ»Π°Π΄ΠΊΠ°: ΠΏΡΠ°Π²Π΄Π°
});
var knex = require ('knex'). knex;
knex.schema.createTable ('ΠΎΡΠ΄Π΅Π»', ΡΡΠ½ΠΊΡΠΈΡ (ΡΠ°Π±Π»ΠΈΡΠ°) {
table.increments ('ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΎΡΠ΄Π΅Π»Π°'). primary (). notNullable ();
table.string ('ΠΈΠΌΡ_ΠΎΡΠ΄Π΅Π»Π°', 80) .unique (). notNullable ();
table.string ('ΠΈΠΌΡ_ΡΡΡΠΎΠ΅Π½ΠΈΡ', 40);
}). then (function () {
console.log ('ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠ΄Π΅Π»ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½Π°');
knex ('ΠΎΡΠ΄Π΅Π»'). insert (
[{Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΡΠ΄Π΅Π»Π°: 'ΠΠ°Π½ΠΎΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ', Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΡΡΠΎΠ΅Π½ΠΈΡ: 'Π±Π»ΠΎΠΊ-Π'},
{Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΡΠ΄Π΅Π»Π°: 'ΠΠ°ΡΠΈΠ½ΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅', Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΡΡΠΎΠ΅Π½ΠΈΡ: 'Π±Π»ΠΎΠΊ-C'}],
'Department_id'
);
}). then (function () {
console.log ('ΠΎΡΠ΄Π΅Π»Ρ Π²ΡΡΠ°Π²Π»Π΅Π½Ρ');
}). catch (function (e) {
console.log (Π΅);
});
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΈΠ±ΠΎ return
your knex
insert, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ then
ΠΈΠ»ΠΈ catch
/ caught
), ΠΈΠ½Π°ΡΠ΅ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ builder
Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊ insert
, select
, from
ΠΈ Ρ. Π. - ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² - ΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ. . ΠΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ then
, catch
/ caught
, lastly
/ finally
, tap
ΠΈΠ»ΠΈ exec
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Promise
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
Knex ΠΈ Bookshelf Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ. Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ
16 ΡΠ½Π²Π°ΡΡ 2014 Π³. Π² 13:17 ΠΠΎΡ Π°Π½Π½Π΅Ρ ΠΡΠΌΠΏΠ΅ [email protected] Π½Π°ΠΏΠΈΡΠ°Π»:
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΈΠ±ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΡΠ²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΡΠ°Π²ΠΊΠΈ knex, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ then ΠΈΠ»ΠΈ catch / catch), ΠΈΠ½Π°ΡΠ΅ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊ insert, select, frometc. - ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² - ΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ then, catch / catch, Π½Π°ΠΊΠΎΠ½Π΅Ρ / Π½Π°ΠΊΠΎΠ½Π΅Ρ, tap ΠΈΠ»ΠΈ exec, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
-
ΠΡΠ²Π΅ΡΡΡΠ΅ Π½Π° ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° GitHub.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΈΠ±ΠΎ
return
yourknex
insert, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡthen
ΠΈΠ»ΠΈcatch
/caught
), ΠΈΠ½Π°ΡΠ΅ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡbuilder
Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊinsert
,select
,from
ΠΈ Ρ. Π. - ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² - ΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ. . ΠΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡthen
,catch
/caught
,lastly
/finally
,tap
ΠΈΠ»ΠΈexec
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉPromise
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .