Activeadmin: UUID์šฉ ActiveAdmin ํ•„ํ„ฐ

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

์•„๋ž˜ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋ชจ๋ธ์— UUID ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. http://rny.io/rails/postgresql/2013/07/27/use-uuids-in-rails-4-with-postgresql.html

์ด์ œ ๋‚ด ํ˜„์žฌ ์Šคํ‚ค๋งˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

create_table "users", force: :cascade do |t|
t.string   "email",
t.string   "first_name"
t.string   "last_name"
t.uuid     "user_uid",   default: "uuid_generate_v4()"
end

ํ™œ์„ฑ ๊ด€๋ฆฌ์ž ์‚ฌ์šฉ์ž ์ƒ‰์ธ ํŽ˜์ด์ง€์— ํ•„ํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋‘ ์ค„์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

filter :user_uid, as: :uuid, label: "USER UUID"
filter :user_uid, as: :string, label: "USER UUID"

ํ•˜์ง€๋งŒ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

GET "/admin/users?utf8=%E2%9C%93&q%5Buser_uid_cont%5D=b216d8af-fbd5-401f-886e-3615b8f57cee&commit=Filter&order=id_desc"๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. +0530
HTML๋กœ Admin::UsersController#index์— ์˜ํ•œ ์ฒ˜๋ฆฌ
๋งค๊ฐœ๋ณ€์ˆ˜: {"utf8"=>"โœ“", "q"=>{"user_uid_cont"=>"b216d8af-fbd5-401f-886e-3615b8f57cee"}, "commit"=>"ํ•„ํ„ฐ", "์ฃผ๋ฌธ"=> "id_desc"}
AdminUser ๋กœ๋“œ(0.3ms) SELECT "admin_users".* FROM "admin_users" WHERE "admin_users"."id" = $1 ORDER BY "admin_users"."id" ASC LIMIT 1 ["id", 1] SELECT COUNT(count_column) FROM(SELECT 1 AS count_column FROM "users" WHERE("users"."user_uid" ILIKE NULL) LIMIT 30 OFFSET 0) subquery_for_count
PG::UndefinedFunction: ์˜ค๋ฅ˜: ์—ฐ์‚ฐ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: uuid ~~* ์•Œ ์ˆ˜ ์—†์Œ
LINE 1: ...unt_column FROM "users" WHERE("users"."user_uid" ILIKE NULL...
^^
ํžŒํŠธ: ์ฃผ์–ด์ง„ ์ด๋ฆ„ ๋ฐ ์ธ์ˆ˜ ์œ ํ˜•๊ณผ ์ผ์น˜ํ•˜๋Š” ์—ฐ์‚ฐ์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ช…์‹œ์  ์œ ํ˜• ์บ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
: SELECT COUNT(count_column) FROM(SELECT 1 AS count_column FROM "users" WHERE("users"."user_uid" ILIKE NULL) LIMIT 30 OFFSET 0) subquery_for_count
๋ Œ๋”๋ง๋จ /home/chetuiwk1457/.rvm/gems/ruby-2.2. 3@amburcloud/bundler/gems/activeadmin-81537db36107/app/views/active_admin/resource/index.html.arb (165.8ms)
176ms(ActiveRecord: 3.2ms) ๋‚ด์— 500 ๋‚ด๋ถ€ ์„œ๋ฒ„ ์˜ค๋ฅ˜ ์™„๋ฃŒ

UUID์™€ ํ•จ๊ป˜ ActiveAdmin ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ œ์•ˆ ์‚ฌํ•ญ

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

Rails 5 ๋ฐ ActiveAdmin 1.0.0.pre4 ์—์„œ ์ด ์†”๋ฃจ์…˜์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ์ด ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

filter :id_eq, label: "ID"

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

๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. Postgres๋Š” UUID ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ILIKE ๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ํ…์ŠคํŠธ ํ•„ํ„ฐ ๋Œ€์‹  ๋™๋“ฑ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

filter :user_uid_eq

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“์„ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค...!

Rails 5 ๋ฐ ActiveAdmin 1.0.0.pre4 ์—์„œ ์ด ์†”๋ฃจ์…˜์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ์ด ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

filter :id_eq, label: "ID"

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