পিজি অপরিজ্ঞাতযোগ্য ত্রুটি সম্পর্কিত ব্যবহারকারীদের উপস্থিতি নেই


94

আমি এই প্রশ্নটি আগে দেখেছি, তবে কেবল আরএসপেকের জন্য। আমি এখনও পরীক্ষা তৈরি করিনি কারণ এটি আমার পক্ষে খুব উন্নত তবে একদিন শীঘ্রই করব! : পি

আমি আমার অ্যাপটিতে সাইন-আপ / লগইন করার চেষ্টা করার সময় আমি এই ত্রুটিটি পেয়েছি। আমি ইউজার তৈরি করতে উইল ব্যবহার করা হয় এবং এছাড়াও omniauth2 সাইন-ইন সঙ্গে গুগল

এই ত্রুটি

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, তবে এটি ইতিমধ্যে তৈরি হয়েছে: স্কিমা টেবিলের মধ্যে ব্যবহারকারীদের উপস্থিত রয়েছে। এর আগে কি কেউ এই ত্রুটি পেয়েছে?

ডাটাবেস.আইএমএল

কনফিগারেশন = / অপ্ট / স্থানীয় / lib / postgresql84 / বিন / 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:

কোন উত্তর সহায়ক হয়েছে?
20 Скрылевъ

আমার জন্য নয়, একই ত্রুটি থাকা এবং উত্তরগুলির কোনওটিই সহায়ক হয়নি।
গুস্তাভো সেমিও-লোবো

@ গুস্তাভোলোবো আপনার কি স্থায়ী অভিবাসন স্থাপন করেছেন?
5 Скрылевъ

8
আসলে, আমি ভুল ছিলাম, তার জন্য দুঃখিত। RAILS_ENV=test rake db:migrateআমার জন্য কাজ।
গুস্তাভো সেমিও-লোবো

উত্তর:


120

প্রথমে, আপনি ডাটাবেসের বাইরে সমস্ত সংযোগ বিচ্ছিন্ন করতে হবে। ডিফল্টরূপে আপনি বিকাশের পরিবেশ ব্যবহার করেন । তারপরে নিম্নলিখিতগুলির সাথে ডাটাবেসটি পুনরায় সেট করার চেষ্টা করুন:

rake db:reset

রেক ডিবি: রিসেট টাস্কটি ডাটাবেসটি ফেলে দিয়ে আবার সেট আপ করবে। এটি কার্যত রেক ডিবি: ড্রপ ডিবি: সেটআপের সমতুল্য।

এটি সমস্ত মাইগ্রেশন চালানোর মতো নয়। এটি কেবলমাত্র বর্তমান স্কিমা.আরবি ফাইলের সামগ্রী ব্যবহার করবে use যদি কোনও মাইগ্রেশন ফিরিয়ে নেওয়া যায় না, রেক ডিবি: রিসেট আপনাকে সাহায্য করতে পারে না। স্কিমাটি ডাম্পিং সম্পর্কে আরও সন্ধান করতে স্কিমা ডাম্পিং এবং আপনি বিভাগটি দেখুন। রেল ডক্স

যদি কৌশলটি সাহায্য না করে, ডাটাবেসটি ফেলে দিন, আবার এটি পুনরায় তৈরি করুন, ডেটা মাইগ্রেট করুন এবং আপনার কাছে বীজ থাকলে ডাটাবেস বপন করুন:

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

বা সংক্ষেপে (৩.২ থেকে):

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টাস্ক অ্যাকশনটি পাস করার প্রয়োজন হয় না। অন্যথায়, আপনাকে ডাটাবেস প্রস্তুত করতে হবে (এটি 4 রেলগুলিতে অবচয় করা হয়েছে ):

rake db:test:prepare

এবং তারপরে (যদি এটি আসলে প্রয়োজন হয়):

RAILS_ENV=test rake db:seed

রেলগুলির নতুন সংস্করণগুলিতে ত্রুটিটি অ্যাক্টিভেকর্ড :: নন-এনভায়রনমেন্টস্নচেমায়ারার উত্থাপিত হতে পারে, সুতরাং কেবল একটি ডাটাবেস এনভায়রনমেন্ট সেট টাস্কের সাথে টাস্কগুলি প্রিনড করুন : ডিবি: পরিবেশ: সেট :

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

আমার জন্য - RAILS_ENV = পরীক্ষার রেক ডিবি: ড্রপ ডিবি: তৈরি ডিবি: স্কিমা: লোড কাজ করে, উত্তরের জন্য ধন্যবাদ। দুর্দান্ত
অ্যামিক মিং

4
rake db:test:prepareকাজ করে
ফ্রান্সিসকো কুইন্টোর

আপনাকে ধন্যবাদ মিঃ আপনি কেবল আমার জীবন বাঁচালেন। আমি ড্রপ, তৈরি, মাইগ্রেট, সেটআপ করার চেষ্টা করি তবে যতক্ষণ না আমি আপনার আদেশ না দিয়ে চেষ্টা করি ততক্ষণ এই কমান্ডগুলির কোনও কাজ করে না rake db:reset। ম্যাজিক হয় মানুষ!
ট্র্যাভিস লে

19

আমি এই ত্রুটির মুখোমুখি হয়েছি এবং আমার গবেষণার পরে জানতে পেরেছিলাম যে পিজি অপরিজ্ঞাতযোগ্য ত্রুটি সম্পর্কিত ব্যবহারকারীদের ত্রুটির অস্তিত্ব নেই এর অন্যতম কারণ হ'ল:

এই ত্রুটিটি মাইগ্রেশন ত্রুটি। আপনি কিছু ডাটাবেস বৈশিষ্ট্য সহ নতুন মডেল তৈরি করেছেন। মডেল তৈরির পরে আপনাকে আপনার রেল অ্যাপ্লিকেশানের স্কিমাতে বৈশিষ্ট্যগুলি স্থানান্তর করতে হবে।

আপনি যদি বিকাশের জন্য লোকাল মেশিন ব্যবহার করেন তবে আপনি কমান্ডটি ব্যবহার করতে পারেন

rake db:migrate

আপনি যদি হিরকু ব্যবহার করছেন

heroku run rake db:migrate

4
দুর্দান্ত! রেল 5 এর জন্য আপনাকে অবশ্যই 'হিরকু রান রেলস ডিবি: মাইগ্রেট' ব্যবহার করতে হবে
রাফেল অনোফ্রে

4
এটি আমার পক্ষে কাজ করেছে। আমি চালানোর জন্য প্রয়োজন rake db:migrate। ধন্যবাদ
প্রেস্টন

16

আপনার পরীক্ষার ডাটাবেস আরএসপেকের জন্য প্রস্তুত নয়।

এই ত্রুটিটি সমাধানের জন্য আরএসপেকের জন্য আপনার পরীক্ষার ডাটাবেস প্রস্তুত করুন

RAILS_ENV=test rake test:prepare

এটি আপনার পরীক্ষামূলক ডাটাবেসে ড্রপ, তৈরি এবং মাইগ্রেশন যুক্ত করবে

যদি 'পিজি :: ত্রুটি: ERROR: ডাটাবেস "[আপনার_ডিবি_টেষ্ট]" এর মতো বার্তায় রাক টাস্কটি বাতিল করা হয় তবে এটি ব্যবহার করে অন্যান্য ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা হচ্ছে one

RAILS_ENV=test rake db:migrate

13

আমারও তেমন ত্রুটি হয়েছিল আমার ত্রুটির মূলটি ছিল আমার ফ্যাক্টরি.আরবি ফাইলে একটি রেল মডেলের রেফারেন্স ছিল। সুতরাং এটি একটি লোড ত্রুটি সমস্যার কারণ। ফিক্সটি ছিল একটি ব্লকে রেফারেন্সটি মোড়ানো বা{} যাতে এটি চলতে দেরি করে।

ব্রোকন কোডটি এখানে ছিল:

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

এবং এটি ত্রুটিযুক্ত ছিল কারণ Userযখন কারখানাগুলি.আরবি লোড হচ্ছে তখন সংজ্ঞায়িত হয়নি। আমি মোড়ানোUser.new কলটিকে একটি ব্লকে এবং এটি সমস্যার সমাধান করেছে:

স্থির কোড:

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

দ্রষ্টব্য: সম্ভবত আপনার মডেলটিকে এভাবে কল করার জন্য সবচেয়ে ভাল অনুশীলন নয়, তবে এটি আমার কোডটি ডিআরওয়াইয়ের সমাধান ছিল।


কেউ দয়া করে ব্যাখ্যা করতে পারেন কেন এটি "আপনার মডেলকে কল করার জন্য সম্ভবত সবচেয়ে ভাল অনুশীলন নয়"? আমি ডিআরওয়াই সুবিধাগুলির সাথে একমত ... কমতিগুলি কী কী? ধন্যবাদ!
TheUtherSide

12

আরএসপিপ চালানোর সময় আমি এই ত্রুটিটিও পেয়েছিলাম:

 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

এটি প্রায়শই অ্যাক্টিভএডমিনে একটি বাগের কারণে ঘটে। বাগটি কীভাবে পাওয়া যায় তা এখানে:

আপনি যদি অ্যাক্টিভএডমিন ব্যবহার করছেন, পিজি যে কোনও টেবিলের অস্তিত্ব নেই, সেই অ্যাক্টিভএডমিন আরবি ফাইলটির বিষয়বস্তু মন্তব্য করুন।

উদাহরণস্বরূপ, এই ক্ষেত্রে PGError: ERROR: relation "users" does not exist, app/admin/users.rbআপনার স্থানান্তরগুলি সম্পন্ন করার পরে সমস্ত বিষয়বস্তু সম্পর্কে মন্তব্য করুন এবং তারপরে কোনও অসুবিধা করুন ।


এটি কেবল আমার জন্য কাজ করেছিল। তুমি আমার জীবন বাঁচাও ভাই! ধন্যবাদ
মাইপার

5

আমার জন্য সমস্যাটি কারখানার গার্ল রেলের কারণে ঘটছিল। যারা এটি ব্যবহার করছে তাদের জন্য আমি চশমা / ফ্যাক্টরি ফোল্ডারটির নাম পরিবর্তন করে স্প্যাম / টেম্পে এবং চেষ্টা করে যাব

RAILS_ENV = আপনার_ পরিবেশ বান্ডিল এক্সিকিউট রেক ডিবি: মাইগ্রেট - ট্রেস

যদি এটি পাস হয়ে যায়, তবে আপনি ঠিক খুঁজে পেয়েছেন যে এটির কারণ কী। ফ্যাক্টরি গার্ল রেলস রত্ন গিথুব রেপোতে একটি দ্রুত খোঁড়া আমাকে সমস্যাটি সনাক্ত করতে সহায়তা করেছিল।

কারখানাগুলি ব্যর্থ হচ্ছিল কারণ আমি এমন একটি মডেল ইনস্ট্যান্ট করার চেষ্টা করছিলাম যা চলমান ছিল না! নীচের কোড নমুনা:

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

একটি ব্লকে অ্যারে encapsulating (adding} যোগ) আমার জন্য স্থির করে। নোট করুন যে অর্থ প্রদানের উদাহরণগুলিতে একাধিক প্রদানের বিকল্প নিতে পারে ...

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

উল্লেখ করতে ডায়নামিক কারখানার মেয়ে পাগল ডক্স অংশ আরোপ করা আরও তথ্যের জন্য।

আপনার কারখানার ফোল্ডারের নাম বদলে দিতে ভুলবেন না!


4

আমি একই সমস্যার মুখোমুখি হয়েছিলাম এবং তারপরে আমি নিম্নলিখিত সমাধানটি আবিষ্কার করেছিলাম।

নিশ্চিত হয়ে নিন যে আপনি ডাটাবেস.আইএমএল ফাইলে নিম্নলিখিত সমস্ত শংসাপত্র লিখেছেন এবং সেগুলি সঠিক:

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]মাইগ্রেশনে নিখোঁজ ছিল। সিনট্যাক্স ত্রুটি নিক্ষেপ করার পরিবর্তে এটি ছুড়ে দেয়

পিজি :: অপরিজ্ঞাপিত টেবিল: ত্রুটি: সম্পর্কের ভূমিকা নেই

ঘন্টা নষ্ট করার পরে অবশেষে আমি বুঝতে পারলাম যে মাইগ্রেশন অনুপস্থিত ::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

এটি রেলগুলির সাথে একটি বাগ হতে পারে এবং লড়াই এবং অবাক হওয়ার পরিবর্তে কাউকে সহায়তা করতে পারে।


হ্যাঁ!!! আমি মনে করি না এটি এটি একটি ত্রুটি যদিও এটি রেলের পক্ষে একটি সাধারণ সমস্যা I. আমি মনে করি রেলগুলি
সম্প্রদায়

2

আরএসপিইসি ব্যবহার করে পরীক্ষা চালানোর চেষ্টা করার সময় আমি একই রকম ত্রুটি পেয়েছি।

আমি Малъ Скрылевъ এর পদক্ষেপগুলি অনুসরণ করেছি তবে এখনও সংক্ষিপ্তভাবে শেষ হয়েছিল। আমার চূড়ান্ত পদক্ষেপটি করার দরকার ছিল তা ব্যবহার করে আমার স্কিমাটি আমার পরীক্ষার ডেটাবেজে লোড করা:

RAILS_ENV=test rake db:schema:load

এর পরে সমস্যাটি চলে গেল এবং আমি পরবর্তী বাগে যেতে পারি। আশা করি এটি আপনাকে কিছু অন্তর্দৃষ্টি দেয়।



2

(আমি জানি এটি পুরানো, তবে ভবিষ্যতের গুগলারের জন্য)

আপনি ব্যবহার করছেন devise? আমি জানি বিশেষত omniauthableএকটি সমস্যা, তবে অন্যরাও হতে পারে। deviseযদিও এটি হবে না। সাধারণভাবে সমাধানটি আপত্তিকর মডেল, শ্রেণি, যাই হোক না কেন মন্তব্য করা এবং ত্রুটিগুলি যে কোনও বিভাগের জন্য জিজ্ঞাসা করা কোনও বিভাগে মন্তব্য না করা।

আমার জন্য, যা ঘটছিল তা হ'ল মডেলটি deviseপড়ার জন্য Userআপনার কী যুক্তি হিসাবে রয়েছে তা দেখার devise(ক্লাস পদ্ধতিটি)devise :database_authenticatable, :registerable #etc )

তবে, এটি পুরো ফাইলটি পড়বে এবং যদি এটি কোনও নতুন প্রকল্প না হয় তবে এটি অন্যান্য জিনিসের উপর নির্ভর করে অন্যান্য শ্রেণি পদ্ধতিতে বিভক্ত হয়ে উঠতে পারে (আমার ক্ষেত্রে এটি friendly_idমণি ছিল এবং তারপরে একটিalias_method

উত্তরটি ছিল লাইনগুলি (গুলি) Userব্যতীত মডেলটির মন্তব্য করা এবং ঠিকঠাক হওয়া উচিত।deviserake db:schema:load

  • অন্যথায় আমি এই ত্রুটি পেয়েছি:

    আর্গুমেন্ট এরির: সর্বজনীনযোগ্য নয় এমন একটি সংস্থার উপর omniauth_callbacks ম্যাপিং দয়া devise :omniauthableকরে Userমডেলটিতে যুক্ত করুন


2

স্থানান্তরের সময় আপনি যদি এই ত্রুটিটি পান তবে নিশ্চিত হয়ে নিন যে আপনার মডেলের নামটি বহুবচন

ই, ছ।

add_column :images, :url, :string

1

সর্বাধিক সম্ভাব্য কারণ হ'ল আপনার রেকটি আপনার ওয়েব সার্ভারের চেয়ে ডাটাবেস.আইএমএল থেকে আলাদা পরিবেশ ব্যবহার করছে।


হাই, আমি কীভাবে এই বিষয়ে নিশ্চিত হতে পারি? টার্মিনালে আমি কি কমান্ড রাখতে পারি?
নাওমি কে

এবং আপনি কিভাবে আপনার ওয়েবসারভার শুরু করছেন?
টেকভিনেট

টার্মিনালে রেল গুলি ব্যবহার করে আমি এখনই স্থানীয়ভাবে চালাচ্ছি
নাওমি কে

1

আমার এই সমস্যা ছিল এবং এটি গ্রেপ এপিআই দ্বারা সৃষ্ট হয়েছিল । আমি স্ট্যাক ট্রেসে লক্ষ্য করেছি যে স্থানান্তরের সময় রুটের ফাইলটি পড়ছিল।

রুটস.আরবিতে গ্রেপ এপিআই মাউন্ট করা হয়

mount API::Base => '/'

এবং এপিআইতে অনুপস্থিত মডেলটির উল্লেখ ছিল। সুতরাং, এই উত্তরের জন্য ধন্যবাদ আমি এটিকে একটি ব্লকে রেখেছি যা সনাক্ত করে যে এটি সার্ভার দ্বারা চালিত হচ্ছে কিনা বা মাইগ্রেশন চলাকালীন।

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

যে কারও কাছে এখনও এই সমস্যাটি রয়েছে, আমার ক্ষেত্রে এটি ফ্যাক্টরিগার্লের আমার কারখানা যা এই ত্রুটিটি ট্রিগার করেছিল।

আমি '। নতুন' বা '.ক্রেট' এর মাধ্যমে রেফারেন্স যুক্ত করার চেষ্টা করছিলাম।


0

আমার ক্ষেত্রে, আমাকে 2 টি ActiveAdmin ফাইল মন্তব্য করতে হয়েছিল । এখানে আমার পদক্ষেপগুলি ছিল:

  1. প্রাথমিক ত্রুটি / স্ট্যাকট্রেস (নোট আমরা 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 ফাইলটি মন্তব্য করেছি এবং আমার ডাটাবেসটি আবার স্থানান্তরিত করার চেষ্টা করেছি।

একই ত্রুটি।

আমি স্ট্যাকট্রেসের দিকে কিছুটা ঘনিষ্ঠভাবে তাকালাম, এবং লক্ষ্য করেছি যে বাস্তবে app/admin/users.rb:25ব্যতিক্রম ছুঁড়ে ফেলা হচ্ছে - এবং যথেষ্ট নিশ্চিত যে, ফাইলটি আমার discussionsটেবিলের উপর নির্ভরশীলতা রয়েছে (মৃত্যুদন্ড কার্যকর করার মাধ্যমে Discussion.all)।

অবশেষে, সামগ্রীর বিষয়বস্তু সম্পর্কে মন্তব্য করা users.rbআমাকে অবশেষে আমার ডেটাবেস সফলভাবে স্থানান্তরিত করার অনুমতি দিয়েছে।

অবগতির জন্য: একটি আলোচনা আছে এখানে মধ্যে ActiveAdminকিনা যে মণি ডাটাবেসের যখন প্রয়োজনীয় লোড করা উচিত নয়।



0

আমি ত্রুটিটি ধরছিলাম:

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

এটি একটি সুপার ইজি ঠিক হয়ে গেছে। আমি প্রকল্পের পুরানো সংস্করণ থেকে ফাইলগুলি অনুলিপি করেছিলাম এবং "মাইগ্রেট" ফোল্ডারের ভিতরে বাসাতে ভুলে গিয়েছিলাম। যখন আমি এটি করেছি এটি আমার জন্য সমস্যার সমাধান করেছে।


0

এটি সাধারণত ঘটতে পারে যখন আপনি মডেলগুলির মধ্যে ভুল ধরণের সংযোগ ব্যবহার করেন, নির্ভরতা ধ্বংস এবং has_many সমিতিগুলি পরীক্ষা করে দেখুন, উদাহরণস্বরূপ:

ভুল উপায় যা এই সমস্যার কারণ হতে পারে:

নিবন্ধ.আরবি

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

উপশ্রেণী.আরবি

has_and_belongs_to_many :articles

সঠিক ভাবে:

নিবন্ধ.আরবি

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

উপশ্রেণী.আরবি

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

0

আপনার প্রতিশ্রুতিতে স্থানান্তর ফাইলটি ভুলে যাওয়া এই সমস্যার কারণ হতে পারে। উদাহরণস্বরূপ হিরকুতে চাপ দিলে rails db:migrateঅবশ্যই কাজ করবে না। নিশ্চিত হয়ে নিন যে অপরিবর্তিত সারণির সংজ্ঞা দেওয়া মাইগ্রেশন ফাইলটি প্রতিশ্রুতিবদ্ধ হয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.