OraRails

Oracle(9i,10g)+RubyOnRails(Ver1.2.1+Apache+mongrel)の設定メモ

ORA-01758: 必須列(NOT NULL)を追加するには、表を空にする必要があります

2006-11-06 15:33:37 | はまった所
マイグレーション機能で、NOT NULL を追加しようとすると

ORA-01758: 必須列(NOT NULL)を追加するには、表を空にする必要があります のエラー がでる。


1.db/migrateフォルダの 003_add_column_user_id.rb を以下のように記載
class AddColumnUserId <ActiveRecord::Migration add_column :memopages, :user_id, :integer,:null =>false

if user = User.find_first
Memopage.find_all.each do |page|
page.update_attribute('user_id',user.id)
end
end
end

def self.down
remove_column :memopages, :user_id
end
end

2.>rake migrate 実行で エラー発生。
ORA-01758: 必須列(NOT NULL)を追加するには、表を空にする必要があります
と表示されます。

NOTNULLの項目赤字を削除すればエラーは回避されます。

NOTNULL項目の追加はできないようです。