Knex: ์‚ฌ์šฉ์ž ์ •์˜ ๋นŒ๋” ๊ธฐ๋Šฅ

์— ๋งŒ๋“  2016๋…„ 07์›” 15์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: knex/knex

ํ•ญ์ƒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์„ knex์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ž‘๋™์‹œํ‚ค๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๊ทธ๋“ค์€:
knex.selectOne
knex.selectZeroOrOne

๋จผ์ € ์ˆ˜ํ–‰ํ•˜๋Š” ๋Œ€์‹  selectOne์€ ์ œํ•œ์„ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๋Œ€์‹  ๋‘˜ ์ด์ƒ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ž‘์„ฑ์ž๋Š” ํŠน์ • ์˜ค๋ฅ˜๋ฅผ ์กฐ๊ธฐ์— ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œ์ž‘ํ–ˆ๋‹ค.

knex.client.QueryBuilder.prototype.selectOne = function (columns) { 
    const args = new Array(arguments.length);
    for (let i = 0; i < args.length; i++) {
      args[i] = arguments[i];
    }
    this.select.apply(this, args);
    this._method = 'first';
    //this.limit(1);
    return this;
}

๊ทธ๋Ÿฌ๋‚˜ ๋ถ„๋ช…ํžˆ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ํ™•์ธ์€ ๊ฒฐ๊ณผ๊ฐ€ ๋Œ์•„์˜จ ํ›„์— ๋ฐœ์ƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

planned for 1.0

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@tgriesser ํ•œ๋™์•ˆ ์ด ๊ธฐ๋Šฅ์„ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ QueryBuilder ํ”„๋กœํ† ํƒ€์ž…์„ ์ˆ˜์ •ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ๋นŒ๋”๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ์œผ๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ‘

๋ชจ๋“  3 ๋Œ“๊ธ€

์ฐธ๊ณ ๋กœ ์ด ์ฝ”๋“œ๋Š” 0.12์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”„๋กœํ† ํƒ€์ž…์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด knex/lib/query/builder ์ง์ ‘ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

1.0์˜ ๊ฒฝ์šฐ ์œ„์—์„œ ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ฟผ๋ฆฌ ๋นŒ๋” ์ฒด์ธ์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•  ๊ณ„ํš์ด๋ฉฐ "ํ›„ํฌ"๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฒฐ๊ณผ ํ›„ ๋ณ€ํ™˜์„ ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@tgriesser ํ•œ๋™์•ˆ ์ด ๊ธฐ๋Šฅ์„ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ QueryBuilder ํ”„๋กœํ† ํƒ€์ž…์„ ์ˆ˜์ •ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ๋นŒ๋”๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ์œผ๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ‘

@tgriesser - ์šฐ๋ฆฌ๋Š” 1.0์—์„œ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰