إليك فرق (diff) لدمج ذلك في spec/rails_helper الخاص بـ Discourse:
ومع ذلك، يفشل ذلك في إعداد التطوير القائم على Docker الخاص بي:
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_test
ويرجع ذلك إلى أن maintain_test_schema! تستخدم db:test:prepare، وتحاول إسقاط قاعدة بيانات الاختبار أولاً، والتي (أعتقد) أن مستخدم discourse في الإعداد القائم على Docker لا يملك صلاحية الوصول إليها.
هل يمكن لشخص بإعداد تطوير أصلي تجربتها؟ إذا نجحت، فربما يستحق التغيير النظر فيه؟
طبّقت هذا الاختلاف وحذفت قواعد البيانات، ثم شغّلت bin/rails db:create bin/rails db:migrate
بعدها اخترت اختبارًا عشوائيًا
▶ bundle exec rspec spec/requests/permalinks_controller_spec.rb
حدث خطأ أثناء تحميل ./spec/requests/permalinks_controller_spec.rb.
خطأ في التوقع: Group.find_by(id: id)
ActiveRecord::StatementInvalid:
PG::UndefinedTable: خطأ: العلاقة "groups" غير موجودة
LINE 8: WHERE a.attrelid = '"groups"'::regclass
^
# ./app/models/group.rb:532:in `lookup_group'
# ./app/models/group.rb:516:in `block in ensure_automatic_groups!'
# ./app/models/group.rb:515:in `each_key'
# ./app/models/group.rb:515:in `ensure_automatic_groups!'
# (eval):3:in `block (2 levels) in run_file'
# ./spec/rails_helper.rb:79:in `<top (required)>'
# ./spec/requests/permalinks_controller_spec.rb:3:in `require'
# ./spec/requests/permalinks_controller_spec.rb:3:in `<top (required)>'
# ------------------
# --- السبب: ---
# PG::UndefinedTable:
# خطأ: العلاقة "groups" غير موجودة
# LINE 8: WHERE a.attrelid = '"groups"'::regclass
# ^
# ./app/models/group.rb:532:in `lookup_group'
لم يتم العثور على أي أمثلة.
انتهى في 0.00003 ثانية (استغرق تحميل الملفات 1.6 ثانية)
0 أمثلة، 0 فشل، حدث خطأ واحد خارج الأمثلة