Javascript 通过knex插入假数据

Javascript 通过knex插入假数据,javascript,postgresql,knex.js,Javascript,Postgresql,Knex.js,我试图使用faker通过knex将数据插入我的postgresql数据库 请参见以下示例: //Loading from an external file var knex = require('knex')({ client: 'postgresql', connection: { database: 'knexdb', user: 'root', password: 'root' }, debug:

我试图使用faker通过knex将数据插入我的postgresql数据库

请参见以下示例:

//Loading from an external file
var knex = require('knex')({
    client: 'postgresql',
    connection: {
        database: 'knexdb',
        user:     'root',
        password: 'root'
      },
    debug: false,
})
// using faker
const faker = require('faker')

async function main() {

    //test connection
    await knex.raw('select 1+1 as result').then(function () {
        console.log("valid db connection")
        // there is a valid connection in the pool
    });

    //delete data
    await knex('posts').del().then(function () {
        const res = knex('posts')
        if (res) {
            console.log("Table content deleted")
        } else {
            console.log(res)
        }
    })

    const dataAmount = 3
    console.log("lets insert " + dataAmount + " rows of data")
    for (var index = 0; index < dataAmount; index++) {
        try {
            await knex('posts').insert({
                title: faker.random.word,
                description: faker.lorem.paragraph,
                deleted: faker.random.boolean,
                createdAt: faker.date.recent,
                updatedAt: faker.date.recent
            })
        } catch (e) {
            console.log(e)
        }
    }

    // select all
    res = await knex('posts')
    console.log('All: ', res)

}

main() //.then().catch(err => console.error(err))
//从外部文件加载
var knex=require('knex')({
客户端:“postgresql”,
连接:{
数据库:“knexdb”,
用户:'根',
密码:“root”
},
调试:错误,
})
//使用冒牌货
const faker=require(‘faker’)
异步函数main(){
//测试连接
等待knex.raw('选择1+1作为结果')。然后(函数(){
log(“有效的数据库连接”)
//池中存在有效的连接
});
//删除数据
等待knex('posts').del()。然后(函数(){
const res=knex('posts')
如果(res){
console.log(“删除了表内容”)
}否则{
console.log(res)
}
})
常数数据量=3
log(“让我们插入”+dataAmount+“数据行”)
对于(var指数=0;指数console.error(err))
我收到以下错误
SELECT*未指定表无效
。请参见下面的完整输出:

有效的数据库连接 表内容已删除 插入3行数据 {错误:未指定表的SELECT*无效 在Connection.parseE(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:546:11) 在Connection.parseMessage(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:371:19) 在套接字上。(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\connection.js:114:22) 在emitOne(events.js:115:13) 在Socket.emit(events.js:210:7) 在addChunk(_stream_readable.js:266:12) 在readableAddChunk(_stream_readable.js:253:11) 在Socket.Readable.push(_stream_Readable.js:211:10) 在TCP.onread(net.js:585:20) 名称:“错误”, 长度:117, 严重性:“错误”, 代码:“42601”, 细节:未定义, 提示:未定义, 位置:'99', 内部位置:未定义, internalQuery:未定义, 其中:未定义, 模式:未定义, 表:未定义, 列:未定义, 数据类型:未定义, 约束:未定义, 文件:“parse_target.c”, 行:“1211”, 例程:“ExpandAllTables”} {错误:未指定表的SELECT*无效 在Connection.parseE(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:546:11) 在Connection.parseMessage(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:371:19) 在套接字上。(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\connection.js:114:22) 在emitOne(events.js:115:13) 在Socket.emit(events.js:210:7) 在addChunk(_stream_readable.js:266:12) 在readableAddChunk(_stream_readable.js:253:11) 在Socket.Readable.push(_stream_Readable.js:211:10) 在TCP.onread(net.js:585:20) 名称:“错误”, 长度:117, 严重性:“错误”, 代码:“42601”, 细节:未定义, 提示:未定义, 位置:'99', 内部位置:未定义, internalQuery:未定义, 其中:未定义, 模式:未定义, 表:未定义, 列:未定义, 数据类型:未定义, 约束:未定义, 文件:“parse_target.c”, 行:“1211”, 例程:“ExpandAllTables”} {错误:未指定表的SELECT*无效 在Connection.parseE(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:546:11) 在Connection.parseMessage(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:371:19) 在套接字上。(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\connection.js:114:22) 在emitOne(events.js:115:13) 在Socket.emit(events.js:210:7) 在addChunk(_stream_readable.js:266:12) 在readableAddChunk(_stream_readable.js:253:11) 在Socket.Readable.push(_stream_Readable.js:211:10) 在TCP.onread(net.js:585:20) 名称:“错误”, 长度:117, 严重性:“错误”, 代码:“42601”, 细节:未定义, 提示:未定义, 位置:'99', 内部位置:未定义, internalQuery:未定义, 其中:未定义, 模式:未定义, 表:未定义, 列:未定义, 数据类型:未定义, 约束:未定义, 文件:“parse_target.c”, 行:“1211”, 例程:“ExpandAllTables”} 全部:[] ^C C:\Users\user\Desktop\Coding Projects\learning\u knex\src>node t3-faker.js 有效的数据库连接 表内容已删除 让我们插入3行数据 {错误:未指定表的SELECT*无效 在Connection.parseE(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:546:11) 在Connection.parseMessage(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\Connection.js:371:19) 在套接字上。(C:\Users\user\Desktop\Coding Projects\learning\u knex\node\u modules\pg\lib\connection.js:114:22) 在emitOne(events.js:115:13) 在Socket.emit(events.js:210:7) 在addChunk(_stream_readable.js:266:12) 在readableAddChunk(_stream_readable.js:253:11) 在Socket.Readable.push(_stream_Readable.js:211:10) 在TCP.onread(net.js:585:20) 名称:“错误”, 长度:117, 严重性:“错误”, 代码:“42601”, 判定元件
//Loading from an external file
var knex = require('knex')({
    client: 'postgresql',
    connection: {
        database: 'knexdb',
        user:     'root',
        password: 'root'
    },
    debug: false,
})
// using faker
const faker = require('faker')

async function main() {

    //test connection
    await knex.raw('select 1+1 as result');
    console.log("valid db connection");

    //delete data
    await knex('posts').del();
    const res = await knex('posts'); // FIXED: this was missing await
    if (res.length === 0) {          // FIXED: also empty array is truthy
        console.log("Table content deleted");
    } else {
        console.log(res);
    }

    const dataAmount = 3
    console.log(`lets insert ${dataAmount} rows of data`);
    for (let index = 0; index < dataAmount; index++) {
        try {
            // FIXED: faker calls were missing () from the end
            await knex('posts').insert({
                title: faker.random.word(),
                description: faker.lorem.paragraph(),
                deleted: faker.random.boolean(),
                createdAt: faker.date.recent(),
                updatedAt: faker.date.recent()
            });
        } catch (e) {
            console.log(e);
        }
    }

    // select all
    let finalRes = await knex('posts');
    console.log('All: ', finelRes);
}

main().then().catch(err => console.error(err));
await knex('posts').insert({
  title: faker.random.word,
  description: faker.lorem.paragraph,
  deleted: faker.random.boolean,
  createdAt: faker.date.recent,
  updatedAt: faker.date.recent
})
await knex('posts').insert({
  title: faker.random.word(),
  description: faker.lorem.paragraph(),
  deleted: faker.random.boolean(),
  createdAt: faker.date.recent(),
  updatedAt: faker.date.recent()
})