का उपयोग नहीं कर रहा हूं यह एक रूबी गैर-वेब प्रोजेक्ट है जो डेटाबेस से बात करने के लिए ActiveRecord का उपयोग करता है।ActiveRecord :: माइग्रेशन बहिष्करण चेतावनी - रेल संस्करण के लिए पूछता है, लेकिन मैं रेल
एक ऐसी फ़ाइल है जिसमें डीबी कनेक्शन कोड, माइग्रेशन और मॉडल शामिल है। यहाँ देखें (लेकिन यह सवाल का जवाब देने के लिए इस पढ़ने के लिए आवश्यक नहीं है)
require 'sqlite3'
require 'active_record'
require 'yaml'
require 'active_support/all'
require 'securerandom'
BasePath = "#{File.dirname(__FILE__)}/.."
DATABASE_FILENAME = "database.sqlite"
DATABASE_PATH = "#{BasePath}/#{DATABASE_FILENAME}"
SQLite3::Database.new(DATABASE_PATH)
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: DATABASE_PATH
)
class Migrations < ActiveRecord::Migration
def up
create_table :todos do |t|
t.string :content
t.boolean :completed
t.timestamps null: false
end
end
def down
puts "backing up database".red_on_black if File.file?(DATABASE_PATH)
loop { (`cp #{DATABASE_PATH} #{DATABASE_PATH}-#{SecureRandom.urlsafe_base64}.backup`; break) rescue next }
sleep 0.5
drop_table :todos
puts "dropped todos table"
end
end # Migrations
class Todo < ActiveRecord::Base
end
सवाल इस लाइन के बारे में है:
class Migrations < ActiveRecord::Migration
जब मैं Migrations.migrate(:up)
साथ माइग्रेशन चला, मैं एक प्रतिवाद प्राप्त चेतावनी:
DEPRECATION WARNING: Directly inheriting from ActiveRecord::Migration is deprecated.
Please specify the Rails release the migration was written for:
class Migrations < ActiveRecord::Migration[4.2]
यह सलाह देते हैं मैं
को मेरी कक्षा परिभाषा बदलने की तरहclass Migrations < ActiveRecord::Migration[4.2]
और फिर मुझे चेतावनी नहीं मिलती है।
मुझे आश्चर्य है कि कोई इसका उद्देश्य बता सकता है या नहीं।
मेरा ऐप रेल के किसी भी संस्करण पर निर्भर नहीं है। मुझे एक रेल संस्करण निर्दिष्ट करने के लिए
क्यों चाहिए?
वाह! @rafaelfranca! यहां समझाए जाने के लिए धन्यवाद ..;) +1 – uday
यह समझ में आता है हालांकि यह उन लोगों के लिए भ्रमित है जो रेल के बाहर एआर का उपयोग कर रहे हैं। –
@rafaelfranca इस बात पर कोई सलाह है कि कैसे रत्न रखरखाव ऑटो-जेनरेट माइग्रेशन स्क्रिप्ट को रेल 4 दोनों का समर्थन करने के लिए अद्यतन कर सकते हैं।1 और पुराना, और नया रेल माइग्रेशन संस्करण एपीआई? इसके लिए मैंने जो समाधान उपयोग किए हैं वे हैंकी हैं। उदाहरण: '' 'यदि रेल :: संस्करण :: STRING [0..2] .to_f> = 5 active_record_migration_class = ActiveRecord :: माइग्रेशन [रेल :: संस्करण :: STRING [0..2] .to_f] अन्य active_record_migration_class = ActiveRecord :: माइग्रेशन एंड'' क्या कुछ और सुरुचिपूर्ण है? – Kelseydh