namespace :db do
def cleanup_schema
filename = "db/schema.rb"
schema = File.read(filename)
.split("\n")
.select { |l| not l.strip.starts_with? "#" }
.slice(1..-1)
.push("")
.join("\n")
File.open(filename, 'w') do |file|
file.write(schema)
end
end
task :migrate do
cleanup_schema
end
end
2条答案
按热度按时间p8ekf7hl1#
要阻止这种情况发生,请在
lib/tasks/schema_cleanup.rake
中创建以下文件(请注意.rake
):现在,每次运行命令时,注解都将被删除。
yhived7q2#
如何避免在
schema.rb
中添加注解,您可以添加例如lib/tasks/db.rake
:在这种情况下,每次调用
db
命名空间中的任何任务时,都会在最后执行这段代码,并删除所有带注解的行当然,您可以根据自己的具体需要修改这段代码