Knex: Pertanyaan tentang penggunaan then () dengan Knex.js dan Postgres

Dibuat pada 16 Jan 2014  ·  3Komentar  ·  Sumber: knex/knex

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);
});

question

Komentar yang paling membantu

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.

Semua 3 komentar

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

  • M N

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!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat