What is the preferred way to manage schema.rb in git?

前端 未结 8 931
醉酒成梦
醉酒成梦 2020-12-01 07:05

I don\'t want to add schema.rb to .gitignore, because I want to be able to load a new database schema from that file. However, keeping it checked

8条回答
  •  南笙
    南笙 (楼主)
    2020-12-01 07:56

    You could define a merge strategy. I've found this solution, but dont remember the source

    [merge "railsschema"]
    name = newer Rails schema version
    driver = "ruby -e '\n\
        system %(git), %(merge-file), %(--marker-size=%L), %(%A), %(%O), %(%B)\n\
        b = File.read(%(%A))\n\
        b.sub!(/^<+ .*\\nActiveRecord::Schema\\.define.:version => (\\d+). do\\n=+\\nActiveRecord::Schema\\.define.:version => (\\d+). do\\n>+ .*/) do\n\
          %(ActiveRecord::Schema.define(:version => #{[$1, $2].max}) do)\n\
        end\n\
        File.open(%(%A), %(w)) {|f| f.write(b)}\n\
        exit 1 if b.include?(%(<)*%L)'"
    

    put this "somewhere" and

    git-config --global core.attributesfile "somewhere"
    

提交回复
热议问题