Saya mencoba menggunakan then () untuk merangkai tabel buat saya dan penyisipan baris.
Tabel dibuat tetapi tidak ada penyisipan yang terjadi (tidak ada kesalahan yang tertangkap).
Bisakah seseorang memberi tahu saya di mana saya salah?
Terima kasih
M N
var Promise = membutuhkan ('bluebird');
var Knex = membutuhkan ('knex');
Knex.knex = Knex.initialize ({
klien: 'pg',
koneksi: {
…
},
debug: benar
});
var knex = membutuhkan ('knex']. knex;
knex.schema.createTable ('department', function (table) {
table.increments ('department_id'). primary (). notNullable ();
table.string ('department_name', 80) .unique (). notNullable ();
table.string ('building_name', 40);
}). kemudian (function () {
console.log ('tabel departemen telah dibuat');
knex ('departemen'). masukkan (
[{department_name: 'Nano Technology', building_name: 'block-A'},
{department_name: 'Teknik Mesin', building_name: 'block-C'}],
'department_id'
);
}). kemudian (function () {
console.log ('departemen disisipkan');
}). catch (function (e) {
console.log (e);
});
Anda harus return
pernyataan insert knex
, atau menambahkan penangan ke dalamnya (dengan menggunakan then
atau catch
/ caught
), kalau tidak, Anda hanya membuat instance builder
tetapi sebenarnya tidak menjalankan kueri. Saat Anda memanggil metode seperti insert
, select
, from
dll. - pada dasarnya setiap metode pada pembuat kueri - itu hanya akan mengubah status internalnya, tetapi tidak benar-benar mengeksekusi kueri . Itu hanya akan terjadi jika Anda menambahkan satu atau beberapa penangan ke instance menggunakan then
, catch
/ caught
, lastly
/ finally
, tap
atau exec
, karena ini kemudian akan membuat Promise
, yang mengirimkan kueri ke klien database.
Knex dan Rak Buku sangat bagus. Terima kasih banyak
Pada 16 Jan 2014, pukul 13:17, Johannes Lumpe [email protected] menulis:
Anda harus mengembalikan pernyataan penyisipan knex Anda, atau menambahkan penangan ke dalamnya (dengan menggunakan then atau catch / catch), jika tidak, Anda hanya membuat instance builder tetapi tidak benar-benar menjalankan kueri. Ketika Anda memanggil metode seperti sisipkan, pilih, dari dll. - pada dasarnya setiap metode pada pembuat kueri - itu hanya akan mengubah status internalnya, tetapi tidak benar-benar mengeksekusi kueri. Itu hanya akan terjadi ketika Anda menambahkan satu atau lebih penangan ke instance menggunakan then, catch / catch, lastly / last, tap atau exec, karena ini akan membuat Promise aktual, yang mengirimkan kueri ke klien database.
-
Balas email ini secara langsung atau lihat di GitHub.
Sama-sama!
Komentar yang paling membantu
Anda harus
return
pernyataan insertknex
, atau menambahkan penangan ke dalamnya (dengan menggunakanthen
ataucatch
/caught
), kalau tidak, Anda hanya membuat instancebuilder
tetapi sebenarnya tidak menjalankan kueri. Saat Anda memanggil metode sepertiinsert
,select
,from
dll. - pada dasarnya setiap metode pada pembuat kueri - itu hanya akan mengubah status internalnya, tetapi tidak benar-benar mengeksekusi kueri . Itu hanya akan terjadi jika Anda menambahkan satu atau beberapa penangan ke instance menggunakanthen
,catch
/caught
,lastly
/finally
,tap
atauexec
, karena ini kemudian akan membuatPromise
, yang mengirimkan kueri ke klien database.