ไม่มีผู้ใช้ที่เกี่ยวข้องกับข้อผิดพลาด PG undefinedtable


93

ฉันเห็นคำถามนี้มาก่อน แต่สำหรับ rspec เท่านั้น ฉันยังไม่ได้สร้างแบบทดสอบเพราะมันล้ำหน้าเกินไปสำหรับฉัน แต่วันหนึ่งในไม่ช้าฉันจะทำ! : ป

ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามลงทะเบียน / ล็อกอินเข้าสู่แอปของฉัน ผมใช้ประดิษฐ์เพื่อสร้างผู้ใช้และยังomniauth2ลงชื่อเข้าใช้ด้วยGoogle

นี่คือข้อผิดพลาด

ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback
PG::UndefinedTable: ERROR:  relation "users" does not exist
LINE 5:              WHERE a.attrelid = '"users"'::regclass
                                        ^
:             SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
              FROM pg_attribute a LEFT JOIN pg_attrdef d
                ON a.attrelid = d.adrelid AND a.attnum = d.adnum
             WHERE a.attrelid = '"users"'::regclass
               AND a.attnum > 0 AND NOT a.attisdropped
             ORDER BY a.attnum

ฉันลองrake db:migrateแล้ว แต่มันถูกสร้างขึ้นแล้ว: มีผู้ใช้ตารางสคีมาอยู่ มีใครมีข้อผิดพลาดนี้มาก่อนหรือไม่?

database.yml

config = / opt / local / lib / postgresql84 / bin / pg_config

development:
  adapter: postgresql
  encoding: unicode
  database: tt_intraweb_development
  pool: 5
  username: my_username
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: tt_intraweb_test
  pool: 5
  username: my_username
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: tt_intraweb_production
  pool: 5
  username: my_username
  password:

คำตอบใดที่เป็นประโยชน์
МалъСкрылевъ

ไม่ใช่สำหรับฉันมีข้อผิดพลาดเดียวกันและไม่มีคำตอบใดที่เป็นประโยชน์
Gustavo Semião-Lobo

@GustavoLobo คุณได้ตั้งค่าการย้ายที่เหมาะสมแล้วหรือยัง?
МалъСкрылевъ

8
ที่จริงฉันผิดขอโทษด้วย RAILS_ENV=test rake db:migrateทำงานให้ฉัน
Gustavo Semião-Lobo

คำตอบ:


119

ในตอนแรกคุณต้องถอดการเชื่อมต่อทั้งหมดออกจากฐานข้อมูล โดยค่าเริ่มต้นคุณใช้สภาพแวดล้อมการพัฒนา จากนั้นลองรีเซ็ตฐานข้อมูลด้วยสิ่งต่อไปนี้:

rake db:reset

งาน rake db: reset จะทิ้งฐานข้อมูลและตั้งค่าอีกครั้ง สิ่งนี้เทียบเท่ากับการทำงานของ rake db: drop db: setup

ซึ่งไม่เหมือนกับการเรียกใช้การย้ายข้อมูลทั้งหมด จะใช้เฉพาะเนื้อหาของไฟล์ schema.rb ปัจจุบันเท่านั้น หากไม่สามารถย้อนกลับการย้ายข้อมูลได้ rake db: reset อาจไม่ช่วยคุณ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการทิ้งสคีมาโปรดดูที่ส่วน Schema Dumping and You เอกสารทางรถไฟ

หากเคล็ดลับไม่ช่วยให้วางฐานข้อมูลแล้วสร้างใหม่อีกครั้งย้ายข้อมูลและหากคุณมีเมล็ดพันธุ์ให้หว่านฐานข้อมูล:

rake db:drop db:create db:migrate db:seed

หรือในทางสั้น (ตั้งแต่ 3.2):

rake db:migrate:reset db:seed

เนื่องจากdb:migrate:resetหมายถึงการปล่อยสร้างและโยกย้ายฐานข้อมูล เพราะสภาพแวดล้อมการเริ่มต้นสำหรับการrakeคือการพัฒนาในกรณีถ้าคุณเห็นข้อยกเว้นในการทดสอบของสเปคที่คุณควรจะสร้างใหม่อีกครั้งฐานข้อมูลสำหรับการทดสอบสภาพแวดล้อมดังต่อไปนี้:

RAILS_ENV=test rake db:drop db:create db:migrate

หรือเพียงแค่โหลดรูปแบบการย้ายข้อมูล:

RAILS_ENV=test rake db:drop db:create db:schema:load

ในกรณีส่วนใหญ่ฐานข้อมูลการทดสอบจะถูกหว่านในระหว่างขั้นตอนการทดสอบดังนั้นจึงdb:seedไม่จำเป็นต้องผ่านการดำเนินการกับงาน มิฉะนั้นคุณจะต้องเตรียมฐานข้อมูล (ซึ่งเลิกใช้แล้วในRails 4 ):

rake db:test:prepare

แล้ว (ถ้าจำเป็นจริง):

RAILS_ENV=test rake db:seed

ใน Rails เวอร์ชันที่ใหม่กว่าข้อผิดพลาดActiveRecord :: NoEnvironmentInSchemaErrorอาจเพิ่มขึ้นดังนั้นเพียงแค่ใส่หน้างานด้วยชุดสภาพแวดล้อมฐานข้อมูล: db: environment: set :

RAILS_ENV=test rake db:environment:set db:drop db:create db:migrate

สำหรับฉัน - RAILS_ENV = test rake db: drop db: create db: schema: load works ขอบคุณสำหรับคำตอบ เยี่ยมมาก
AMIC MING

rake db:test:prepareทำงาน
Francisco Quintero

ขอบคุณนายแค่ช่วยชีวิตฉัน ฉันพยายามที่จะลดการสร้างโยกย้ายติดตั้ง แต่ไม่ใด ๆ rake db:resetของคำสั่งดังกล่าวงานจนกว่าฉันจะพยายามที่คุณสั่ง ความมหัศจรรย์เกิดขึ้นมนุษย์!
Travis Le

19

ฉันพบข้อผิดพลาดนี้และจากการวิจัยของฉันพบว่าหนึ่งในสาเหตุของข้อผิดพลาด PG undefinedtable ผู้ใช้ไม่มีข้อผิดพลาดคือ:

ข้อผิดพลาดนี้เป็นข้อผิดพลาดในการย้ายข้อมูล คุณอาจสร้างแบบจำลองใหม่โดยมีคุณลักษณะฐานข้อมูลบางอย่าง หลังจากสร้างโมเดลแล้วคุณต้องย้ายแอตทริบิวต์ไปยังสคีมาแอปรางของคุณ

หากคุณใช้เครื่องโลคัลสำหรับการพัฒนาคุณสามารถใช้คำสั่ง

rake db:migrate

หากคุณใช้ heroku

heroku run rake db:migrate

3
ยอดเยี่ยม! สำหรับราง 5 คุณต้องใช้ 'heroku run rail db: migrate'
Raphael Onofre

1
สิ่งนี้ได้ผลสำหรับฉัน rake db:migrateฉันต้องการที่จะทำงาน ขอบคุณ.
Promise Preston

14

ฐานข้อมูลทดสอบของคุณไม่พร้อมสำหรับ rspec

เตรียมฐานข้อมูลทดสอบของคุณสำหรับ rspec เพื่อแก้ไขข้อผิดพลาดนี้

RAILS_ENV=test rake test:prepare

ระบบจะปล่อยสร้างและเพิ่มการย้ายข้อมูลไปยังฐานข้อมูลทดสอบของคุณ

ในกรณีที่งานคราดถูกยกเลิกโดยมีข้อความเช่น 'PG :: Error: ERROR: database "[your_db_test]" ถูกเข้าถึงโดยผู้ใช้อื่นเรียกใช้งานนี้

RAILS_ENV=test rake db:migrate

12

ฉันมีข้อผิดพลาดที่คล้ายกัน รากของข้อผิดพลาดของฉันคือฉันมีการอ้างอิงถึงโมเดล Rails ในไฟล์ factory.rb ของฉัน ดังนั้นจึงทำให้เกิดปัญหาข้อผิดพลาดในการโหลด การแก้ไขคือการรวมข้อมูลอ้างอิงไว้ในบล็อกหรือ{}เพื่อให้การเรียกใช้งานล่าช้า

นี่คือรหัส BROKEN:

FactoryGirl.define do
  factory :user do
    guid User.new.send(:new_token)
  end
end

และเกิดข้อผิดพลาดเนื่องจากUserไม่ได้กำหนดไว้เมื่อโหลด factory.rb ฉันUser.newปิดกั้นการโทรในบล็อกและแก้ไขปัญหาได้:

รหัสคงที่:

FactoryGirl.define do
  factory :user do
    guid { User.new.send(:new_token) }
  end
end

หมายเหตุ: อาจไม่ใช่แนวทางปฏิบัติที่ดีที่สุดที่จะต้องเรียกโมเดลของคุณเช่นนี้ แต่เป็นวิธีแก้ปัญหาในการทำให้รหัสของฉันแห้ง


ใครช่วยอธิบายได้ไหมว่าทำไม "อาจไม่ใช่แนวทางปฏิบัติที่ดีที่สุดที่จะต้องเรียกนางแบบของคุณ" ฉันเห็นด้วยกับสิทธิประโยชน์ของ DRY ... มีข้อเสียอย่างไร? ขอบคุณ!
theUtherSide

11

ฉันได้รับข้อผิดพลาดนี้เช่นกันเมื่อเรียกใช้ rspec:

 Failure/Error: it { expect(subject.priority_list).to eq [nil] * 9 }
 ActiveRecord::StatementInvalid:
   PG::UndefinedTable: ERROR:  relation "priorities" does not exist
   LINE 5:              WHERE a.attrelid = '"priorities"'::regclass
 ...

มันได้รับการแก้ไขสำหรับฉันหลังจากที่ฉันวิ่ง

rake db:test:prepare
rake db:test:load

11

ซึ่งมักเกิดจากข้อบกพร่องใน ActiveAdmin วิธีแก้ไขข้อบกพร่องมีดังนี้

หากคุณใช้ ActiveAdmin ตารางใดที่ PG ระบุว่าไม่มีอยู่ให้แสดงความคิดเห็นเกี่ยวกับเนื้อหาของไฟล์ ActiveAdmin rb นั้น

ตัวอย่างเช่นในกรณีนี้PGError: ERROR: relation "users" does not existให้แสดงความคิดเห็นเกี่ยวกับเนื้อหาทั้งหมดจากapp/admin/users.rbนั้นจึงไม่ใส่ความคิดเห็นหลังจากที่คุณทำการย้ายข้อมูลเสร็จแล้ว


แค่นี้ก็ใช้ได้ผลสำหรับฉัน คุณช่วยชีวิตฉัน! ขอบคุณ
micper

5

ปัญหาสำหรับฉันเกิดจากรางของ Factory Girl ฉันอยากจะแนะนำสำหรับผู้ที่ใช้เพื่อเปลี่ยนชื่อโฟลเดอร์รายละเอียด / โรงงานเป็น spec / temp และพยายาม

RAILS_ENV = your_environment bundle exec rake db: migrate --trace

หากผ่านไปแสดงว่าคุณพบว่าอะไรเป็นสาเหตุ การขุดอย่างรวดเร็วผ่าน repo อัญมณีของ Factory Girl Rails ช่วยให้ฉันระบุปัญหาได้

โรงงานต่างๆล้มเหลวเพราะฉันพยายามสร้างแบบจำลองที่ไม่มีอยู่จริงเมื่อทำงาน! ตัวอย่างโค้ดด้านล่าง:

FactoryGirl.define do
  factory :billing_product, class: 'Billing::Product' do
    name            Faker::Cat.name
    product_type    'fuel'
    active          true
    payment_options [Billing::PaymentOption.new(term: 1, payment_term: 1)]
  end
end

การห่อหุ้มอาร์เรย์ในบล็อก (การเพิ่ม {}) เป็นการแก้ไขให้ฉัน โปรดทราบว่า payment_options สามารถใช้ตัวเลือกการชำระเงินได้มากกว่าหนึ่งตัวเลือกในตัวอย่าง ...

payment_options {[Billing::PaymentOption.new(term: 1, payment_term: 1)]}

อ้างถึงส่วนคุณสมบัติแบบไดนามิกของเอกสาร Factory Girl Railsสำหรับข้อมูลเพิ่มเติม

อย่าลืมเปลี่ยนชื่อโฟลเดอร์โรงงานของคุณกลับ!


4

ฉันกำลังเผชิญกับปัญหาเดียวกันและจากนั้นฉันก็ค้นพบวิธีแก้ปัญหาต่อไปนี้

ตรวจสอบให้แน่ใจว่าคุณได้ป้อนข้อมูลประจำตัวต่อไปนี้ทั้งหมดในไฟล์ database.yml และถูกต้อง:

development:
 adapter: postgresql
 encoding: unicode
 database: my_database
 host: localhost
 port: 5432
 pool: 5
 username: postgres
 password: xyz

test:
 adapter: postgresql
 encoding: unicode
 database: my_test_database
 host: localhost
 port: 5432
 pool: 5
 username: postgres
 password: xyz 

3

ฉันมีปัญหานี้หลังจากที่ลบตารางผู้ใช้ การแก้ปัญหามีการเปลี่ยนแปลง

change_table(:users)

ถึง

create_table(:users)

3

::Migration[5.0]ขาดหายไปในการย้ายข้อมูล แทนที่จะโยนข้อผิดพลาดทางไวยากรณ์ก็พ่น

PG :: UndefinedTable: ERROR: ไม่มีบทบาทของความสัมพันธ์

หลังจากเสียเวลาไปหลายชั่วโมงในที่สุดฉันก็พบว่าการย้ายข้อมูลหายไป ::Migration[5.0]หลังจากเสียเวลาในที่สุดผมก็คิดว่าการโยกย้ายจะหายไป

การย้ายข้อมูลผิดพลาด:

class CreateRoles < ActiveRecord # <---- Pay attention
  def change
    create_table :roles do |t|
      t.string :name
      t.integer :code, limit: 2
      t.boolean :is_active, default: true

      t.timestamps
    end
  end
end

การโยกย้ายคงที่และถูกต้อง

class CreateRoles < ActiveRecord::Migration[5.0]
  def change
    create_table :roles do |t|
      t.string :name
      t.integer :code, limit: 2
      t.boolean :is_active, default: true

      t.timestamps
    end
  end
end

นี่อาจเป็นข้อบกพร่องของรางรถไฟและอาจช่วยใครบางคนแทนที่จะดิ้นรนและสงสัย


ใช่!!! ฉันไม่คิดว่ามันเป็นข้อผิดพลาดแม้ว่าจะเป็นปัญหาทั่วไปสำหรับราง 5 ฉันคิดว่ารางทำสิ่งนี้โดยเจตนาโดยตรงที่สืบทอดจาก ActiveRecord
ชุมชน

2

ฉันได้รับข้อผิดพลาดที่คล้ายกันขณะพยายามเรียกใช้การทดสอบโดยใช้ rspec

ฉันทำตามขั้นตอนของМалъСкрылевъ แต่ก็ยังสั้น ขั้นตอนสุดท้ายที่ฉันต้องทำคือโหลดสคีมาลงในฐานข้อมูลทดสอบโดยใช้:

RAILS_ENV=test rake db:schema:load

หลังจากนั้นปัญหาก็หายไปและฉันสามารถไปยังจุดบกพร่องถัดไปได้ หวังว่าจะให้ข้อมูลเชิงลึกแก่คุณ



2

(ฉันรู้ว่ามันเก่า แต่สำหรับ Googler ในอนาคต)

คุณกำลังใช้devise? ฉันรู้ว่าomniauthableเป็นปัญหาโดยเฉพาะแต่อาจเป็นปัญหาอื่น ๆ เช่นกัน ไม่จำเป็นต้องเป็นdeviseเช่นนั้น วิธีแก้ปัญหาโดยทั่วไปคือการแสดงความคิดเห็นเกี่ยวกับรูปแบบที่ละเมิดคลาสอะไรก็ได้และยกเลิกการแสดงความคิดเห็นในส่วนใด ๆ ที่ข้อผิดพลาดขอ

สำหรับฉันสิ่งที่เกิดขึ้นคือdeviseการอ่านUserโมเดลเพื่อดูว่าคุณมีอาร์กิวเมนต์อะไรบ้างdevise(วิธีการคลาสคือdevise :database_authenticatable, :registerable #etc )

แต่มันจะอ่านไฟล์ทั้งหมดและหากนี่ไม่ใช่โปรเจ็กต์ใหม่มันอาจถูกสะดุดด้วยวิธีการคลาสอื่นที่อาศัยสิ่งอื่น (ในกรณีของฉันมันคือ friendly_idอัญมณีแล้วก็alias_method

คำตอบคือการแสดงความคิดเห็นเกี่ยวกับUserโมเดลยกเว้นdeviseบรรทัด * และrake db:schema:loadควรทำงานได้ดี

  • มิฉะนั้นฉันได้รับข้อผิดพลาดนี้:

    ArgumentError: การแม็พ omniauth_callbacks บนทรัพยากรที่ไม่สามารถเข้าถึงได้ทุกอย่างโปรดเพิ่มdevise :omniauthableในUserโมเดล


2

หากคุณได้รับข้อผิดพลาดนี้ขณะย้ายข้อมูลให้ตรวจสอบว่าชื่อรุ่นของคุณเป็นพหูพจน์

เช่น.

add_column :images, :url, :string

1

สาเหตุที่เป็นไปได้มากที่สุดคือคราดของคุณใช้สภาพแวดล้อมที่แตกต่างจาก database.yml นอกเหนือจากเว็บเซิร์ฟเวอร์ของคุณ


สวัสดีนี่คือสิ่งที่ฉันมั่นใจได้อย่างไร มีคำสั่งที่ฉันสามารถใส่ในเทอร์มินัลได้หรือไม่
Naomi K

และคุณเริ่มต้นเว็บเซิร์ฟเวอร์ของคุณอย่างไร?
techvineet

ฉันเพิ่งวิ่งในพื้นที่ตอนนี้โดยใช้รางในอาคารผู้โดยสาร
Naomi K

1

ฉันมีปัญหานี้และมันเกิดจากGrape APIAPI ฉันสังเกตเห็นในการติดตามสแต็กว่าไฟล์เส้นทางกำลังถูกอ่านระหว่างการโอนย้าย

ใน route.rb Grape api จะถูกเมาท์

mount API::Base => '/'

และใน API มีการอ้างอิงถึงโมเดลที่ขาดหายไป ดังนั้นด้วยคำตอบนี้ฉันจึงใส่ไว้ในบล็อกที่ตรวจจับว่าเซิร์ฟเวอร์ถูกเรียกใช้หรือระหว่างการย้ายข้อมูล

unless ( File.basename($0) == "rake" && ARGV.include?("db:migrate") )
    mount API::Base => '/'
end

และมันได้ผล


1

ฉันพบข้อผิดพลาดต่อไปนี้และทำการค้นหารหัสแอปพลิเคชันทั้งหมดของฉันเพราะtype_zonesฉันไม่พบ ฉันยังดูที่ฐานข้อมูลและได้รับการอัปเดตแล้ว

ปรากฎว่าเป็นไฟล์ที่ติดตั้ง/test/fixtures/type_zones.ymlซึ่งเป็นสาเหตุของปัญหา

ERROR["test_should_get_new", UsersControllerTest, 0.47265757399145514]
test_should_get_new#UsersControllerTest (0.47s)
ActiveRecord::StatementInvalid:  ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "type_zones" does not exist
    LINE 1: DELETE FROM "type_zones"
                        ^
    : DELETE FROM "type_zones"

1

สำหรับใครก็ตามที่ยังคงประสบปัญหานี้ในกรณีของฉันโรงงานของฉันใน FactoryGirl ที่ทำให้เกิดข้อผิดพลาดนี้

ฉันพยายามเพิ่มข้อมูลอ้างอิงผ่าน ".new" หรือ ".create"


0

ในกรณีของฉันฉันต้องแสดงความคิดเห็นออก2 ActiveAdminไฟล์ นี่คือขั้นตอนของฉัน:

  1. ข้อผิดพลาดเริ่มต้น / stacktrace (โปรดทราบว่าเราใช้Solrในโครงการนี้): ⇒ rkdbm java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b15) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) => Solr is already running rake aborted! PG::UndefinedTable: ERROR: relation "discussions" does not exist LINE 5: WHERE a.attrelid = '"discussions"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"discussions"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum /Users/matthewcampbell/Sites/code/stack-builders/AchieveX/app/admin/users.rb:25:in block in <top (required)>' /Users/matthewcampbell/Sites/code/stack-builders/AchieveX/app/admin/users.rb:1:in' /Users/matthewcampbell/Sites/code/stack-builders/AchieveX/config/routes.rb:3:in block in <top (required)>' /Users/matthewcampbell/Sites/code/stack-builders/AchieveX/config/routes.rb:1:in' /Users/matthewcampbell/Sites/code/stack-builders/AchieveX/config/environment.rb:5:in `' Tasks: TOP => db:migrate => environment (See full trace by running task with --trace)

ฉันแสดงความคิดเห็นapp/admin/discussions.rbไฟล์ตามคำตอบของ Arcolye ด้านบนและพยายามย้ายฐานข้อมูลของฉันอีกครั้ง

ข้อผิดพลาดเดียวกัน

ฉันมองไปที่ stacktrace อย่างใกล้ชิดมากขึ้นและสังเกตเห็นว่าในความเป็นจริงapp/admin/users.rb:25มีการทิ้งข้อยกเว้น - และแน่นอนว่าไฟล์นั้นมีการอ้างอิงบนdiscussionsตารางของฉัน(ผ่านการดำเนินการDiscussion.all )

สุดท้ายการแสดงความคิดเห็นเกี่ยวกับเนื้อหาของusers.rbอนุญาตให้ฉันย้ายฐานข้อมูลได้สำเร็จในที่สุด

FYI: มีการอภิปรายที่นี่ในActiveAdminเกี่ยวกับว่าอัญมณีที่ควรโหลดฐานข้อมูลเมื่อจำเป็น



0

ฉันพบข้อผิดพลาด:

ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "users" does not exist
LINE 8:                WHERE a.attrelid = '"users"'::regclass

มันกลายเป็นการแก้ไขที่ง่ายสุด ๆ ฉันได้คัดลอกไฟล์มาจากโครงการเวอร์ชันเก่าและลืมที่จะซ้อนไฟล์เหล่านี้ไว้ในโฟลเดอร์ "ย้ายข้อมูล" เมื่อฉันทำเช่นนั้นมันก็ช่วยแก้ปัญหาให้ฉันได้


0

โดยปกติจะเกิดขึ้นได้เมื่อคุณใช้การเชื่อมโยงผิดประเภท ระหว่างโมเดลตรวจสอบการทำลายการพึ่งพาและมีการเชื่อมโยงมากมายตัวอย่างเช่น:

วิธีที่ผิดที่อาจทำให้เกิดปัญหานี้:

article.rb

 has_many :subcategories, through: :categories, dependent: :destroy

subcategory.rb

has_and_belongs_to_many :articles

วิธีการที่เหมาะสม:

article.rb

 has_many :subcategories, through: :categories, dependent: :destroy

subcategory.rb

declare association with categories here not articles (belongs_to / has_many_and_belongs_to)

0

การลืมไฟล์การย้ายข้อมูลในคอมมิตของคุณอาจทำให้เกิดปัญหานี้ เมื่อกดบน heroku สำหรับเช่นrails db:migrateเห็นได้ชัดว่าจะไม่ทำงาน ตรวจสอบให้แน่ใจว่าไฟล์การโอนย้ายที่กำหนดตารางที่ไม่ได้กำหนดได้ถูกคอมมิตแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.