Pim-community-dev: MSSQL ์„œ๋ฒ„ ๋ฌธ์ œ๋ณ„ ๊ทธ๋ฃนํ™”

์— ๋งŒ๋“  2017๋…„ 11์›” 13์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: akeneo/pim-community-dev

URL:
/ํœด์‹/์†์„ฑ/

์˜ค๋ฅ˜:
'SELECT p0_.[id] AS id_0, p0_.[sort_order] AS sort_order_1, p0_.[useable_as_grid_filter] AS useable_as_grid_filter_2, p0_.[max_characters] AS max_characters_3, p0_.[validation_rule] AS๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. validation_regexp] AS validation_regexp_5, p0_.[wysiwyg_enabled] AS wysiwyg_enabled_6, p0_.[number_min] AS number_min_7, p0_.[number_max] AS number_max_8, p0_.[decimals_allowed] AS decimals_allowed_9, p0_ ํ—ˆ์šฉ๋จ] AS decimals_allowed_9, p0_. AS date_min_11, p0_.[date_max] AS date_max_12, p0_.[metric_family] AS metric_family_13, p0_.[default_metric_unit] AS default_metric_unit_14, p0_.[max_file_size] AS max_file_size_15, p0_.[allowed_extensions] , p0_.[is_required] AS is_required_18, p0_.[is_unique] AS is_unique_19, p0_.[is_localizable] AS is_localizable_20, p0_.[is_scopable] AS is_scopable_21, p0_.[์ฝ”๋“œ] AS ์ฝ”๋“œ_22, p0 23, p0_.[์†์„ฑ_์œ ํ˜•] AS ์†์„ฑ_์œ ํ˜•_24, p0_.[๋ฐฑ์—”๋“œ_์œ ํ˜•] AS ๋ฐฑ์—”๋“œ_์œ ํ˜•_25, p0_.[์†์„ฑ] AS ์†์„ฑ_26, p0_.[์ƒ์„ฑ๋จ] AS ์ƒ์„ฑ๋จ_27, p0_.[์—…๋ฐ์ดํŠธ๋จ] AS updated_28, p0_.group_id AS group_id_m_์†์„ฑ LEFT JOIN pim_catalog_attribute_group p1_ ON p0_.group_id = p1_.id GROUP BY p0_.[id] ORDER BY (SELECT 0) OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY':

SQLSTATE [42000, 8120]: [Microsoft][SQL Server์šฉ ODBC ๋“œ๋ผ์ด๋ฒ„ 13][SQL Server]์—ด 'pim_catalog_attribute.sort_order'๋Š” ์ง‘๊ณ„ ํ•จ์ˆ˜๋‚˜ GROUP BY ์ ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒ ๋ชฉ๋ก์—์„œ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
SQLSTATE [42000, 8180]: [Microsoft][SQL Server์šฉ ODBC ๋“œ๋ผ์ด๋ฒ„ 13][SQL Server]๋ฌธ์„ ์ค€๋น„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ๋‹ค์Œ ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค.
/src/Pim/Bundle/EnrichBundle/Doctrine/ORM/Repository/AttributeSearchableRepository.php
๋ผ์ธ: 160

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

์•ˆ๋…•ํ•˜์„ธ์š” @ahocquard ์ž…๋‹ˆ๋‹ค .
์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” Akeneo๊ฐ€ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ˆ˜์šฉํ• ์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Akeneo๊ฐ€ MSSQL์—์„œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ๊ณ ๊ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์˜์—ญ์˜ ๊ฐœ์„  ์‚ฌํ•ญ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด Akeneo ํ•ต์‹ฌ ํŒ€์˜ ๋ˆ„๊ตฐ๊ฐ€์™€ ๋…ผ์˜ํ•œ ํ›„ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ MySQL์€ SQL ํ‘œ์ค€์— ๋Œ€ํ•ด ๋” ์—„๊ฒฉํ•ด์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์˜์—ญ์˜ ๊ฐœ์„ ์€ MySQL์—๋„ ๋„์›€์ด ๋œ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ๋˜ํ•œ postgresql๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ DBMS์™€ ํ•จ๊ป˜ Akeneo๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์งˆ๋ฌธ์ด๋‚˜ ์šฐ๋ ค ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ Akeneo slack์— ๋Œ€ํ•ด ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

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

์•ˆ๋…•ํ•˜์„ธ์š”,

Akeneo PIM์€ MS SQL Server์™€ ํ•จ๊ป˜ ์„ค์น˜ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค: https://docs.akeneo.com/latest/install_pim/manual/system_requirements/system_requirements.html

MySQL >= 5.7.8์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์•ˆ ์ธ์‚ฌ,
์•Œ๋ ‰์ƒ๋“œ๋ฅด

์•ˆ๋…•ํ•˜์„ธ์š” @ahocquard ์ž…๋‹ˆ๋‹ค .
์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” Akeneo๊ฐ€ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ˆ˜์šฉํ• ์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Akeneo๊ฐ€ MSSQL์—์„œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ๊ณ ๊ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์˜์—ญ์˜ ๊ฐœ์„  ์‚ฌํ•ญ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด Akeneo ํ•ต์‹ฌ ํŒ€์˜ ๋ˆ„๊ตฐ๊ฐ€์™€ ๋…ผ์˜ํ•œ ํ›„ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ MySQL์€ SQL ํ‘œ์ค€์— ๋Œ€ํ•ด ๋” ์—„๊ฒฉํ•ด์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์˜์—ญ์˜ ๊ฐœ์„ ์€ MySQL์—๋„ ๋„์›€์ด ๋œ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ๋˜ํ•œ postgresql๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ DBMS์™€ ํ•จ๊ป˜ Akeneo๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์งˆ๋ฌธ์ด๋‚˜ ์šฐ๋ ค ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ Akeneo slack์— ๋Œ€ํ•ด ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

์•ˆ๋…•ํ•˜์„ธ์š” @tmotyl ,

์šฐ๋ฆฌ๋Š” ๋ถ„๋ช…ํžˆ ๊ทธ ์ ์—์„œ ๊ฐœ์„  ์‚ฌํ•ญ์„ ๊ณต๊ฐœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!
MySQL ONLY_FULL_GROUP_BY ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์žฌ์ƒํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ MSSQL์—์„œ ์–ป์€ ๊ฒƒ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by

MySQL์—์„œ ์žฌ์ƒ์‚ฐ๋˜๋ฉด ๊ฐœ์„  ์‚ฌํ•ญ์„ ๋ณด๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค!

์ฃผ์ €ํ•˜์ง€ ๋ง๊ณ  ๊ท€ํ•˜์˜ ์ฝ”๋“œ๋กœ ๋‹ค๋ฅธ PR์„ ์—ฌ์‹ญ์‹œ์˜ค.

๋ฏธ๋ฆฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์•ˆ๋…•ํ•˜์„ธ์š” @tmotyl ,

ํŒ€๊ณผ ๋…ผ์˜ํ•œ ๊ฒฐ๊ณผ, ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ ์ ˆํ•œ GROUP BY ๊ตฌ๋ฌธ(ONLY_FULL_GROUP_BY ๋ชจ๋“œ ์‚ฌ์šฉ)์„ ์ค€์ˆ˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ •์ •ํ•ฉ๋‹ˆ๋‹ค ( @ahocquard์—๊ฒŒ ๊ฐ์‚ฌ

์ œ๊ณตํ•œ ์ฟผ๋ฆฌ๋Š” SQL99 ์‚ฌ์–‘์˜ T301 "๊ธฐ๋Šฅ์  ์ข…์†์„ฑ" ์„น์…˜์— ๋”ฐ๋ผ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ id ์—ด์€ GROUP_BY ์—์„œ ์‚ฌ์šฉ๋œ ์—ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ปฌ๋Ÿผ์€ ๊ธฐ๋ณธ ํ‚ค์ด๋ฏ€๋กœ ๊ธฐ๋ณธ ํ‚ค์™€ ๋™์ผํ•œ ํ–‰์— ์†ํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ด id ์— ์—ฐ๊ฒฐ๋˜์–ด id ์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์ง‘๊ณ„ ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ GROUP BY ์ธก์— ์žˆ์„ ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ฌธ์ œ๋Š” Transact-SQL์—์„œ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋Š” MSSQL ์„œ๋ฒ„(๋˜๋Š” ๊ท€ํ•˜์˜ ๋ฒ„์ „)์— ์žˆ์Šต๋‹ˆ๋‹ค.

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