avoid using class_eval and define_method
set NOT NULL to the columns which has DEFAULT