ฉันมีปัญหาว่าฉันมีการโยกย้ายใน Rails ที่ตั้งค่าการตั้งค่าเริ่มต้นสำหรับคอลัมน์เช่นตัวอย่างนี้:
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
สมมติว่าฉันต้องการปล่อยการตั้งค่าเริ่มต้นในการโยกย้ายในภายหลังฉันจะทำเช่นนั้นได้อย่างไรโดยใช้การโยกย้ายราง
วิธีแก้ปัญหาปัจจุบันของฉันคือการเรียกใช้งานคำสั่ง sql แบบกำหนดเองในการย้ายข้อมูลรางแบบนี้:
def self.up
execute 'alter table column_name alter bought_at drop default'
end
แต่ฉันไม่ชอบวิธีการนี้เพราะตอนนี้ฉันขึ้นอยู่กับว่าฐานข้อมูลต้นแบบตีความคำสั่งนี้อย่างไร ในกรณีที่มีการเปลี่ยนแปลงของฐานข้อมูลแบบสอบถามนี้อาจไม่ทำงานอีกต่อไปและการโยกย้ายจะถูกทำลาย ดังนั้นมีวิธีแสดงการยกเลิกการตั้งค่าเริ่มต้นสำหรับคอลัมน์ในรางหรือไม่?
CHARACTER VARYING
NULL::character varying