์๋ ๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๋ชจ๋ธ์ 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 ํํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ ์ ์ฌํญ
๋๋ผ์ด ์ผ์ด ์๋๋๋ค. Postgres๋ UUID ๋ฐ์ดํฐ์ ๋ํด ILIKE
๋ฅผ ๊ตฌํํ์ง ์์ต๋๋ค.
๊ธฐ๋ณธ ํ ์คํธ ํํฐ ๋์ ๋๋ฑ ํํฐ๋ฅผ ์ฌ์ฉํ๋๋ก ์ง์ ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
filter :user_uid_eq
์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ์ด ํฐ์ผ์ ์ข ๋ฃํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค...!
Rails 5
๋ฐ ActiveAdmin 1.0.0.pre4
์์ ์ด ์๋ฃจ์
์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ์ด ํํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํจ๊ณผ์ ์ด์์ต๋๋ค.
filter :id_eq, label: "ID"
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Rails
5
๋ฐ ActiveAdmin1.0.0.pre4
์์ ์ด ์๋ฃจ์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ์ด ํํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํจ๊ณผ์ ์ด์์ต๋๋ค.filter :id_eq, label: "ID"