いくつかの調査の後で、なぜこれが失敗したのかに関する私の仮定は正しいと思われます。変更が上書きされているのは確かです。なぜなら、buildpackはあなたのHerokuアプリケーションにコミットするプロジェクト構造の上にすべてをインストールするからです。
私のケースでは、私の変更はStrongLoopのファイルの変更に関係していたため、SLビルドパックが失われた場所にインストールされるたびに変更されました。
ソリューション:
私は、これはStrongLoop's buildpackをフォークして、誰でも(「$全員」の役割を)許可するACLエントリを削除するsed
を使用するbin/compile
ファイルに数行を追加することによりだった解決方法へ私が使用している、これは次の行を削除SLのバージョンでは
status "Removing CREATE permissions for User model"
sed '42,47d' $build_dir/node_modules/loopback/common/models/user.json > $build_dir/node_modules/loopback/common/models/user.tmp
mv $build_dir/node_modules/loopback/common/models/user.tmp $build_dir/node_modules/loopback/common/models/user.json
(link to the position of the lines is here)
:新しいユーザーインスタンスをPOST S:
},
{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW",
"property": "login"
(link to GitHub lines here)
私は、今、「$みんな」役で新しいユーザーを作成するためのアクセスを無効にしている新しいHerokuのアプリを作成するには、この新しいbuildpackを使用しました。
警告
これはもちろん、これを達成するのは非常に粗製の方法であり、私は正しい方法は、実際に、StrongLoopレポをforkが変更を行い、その後、buildpackを使用するだろうと思うだろう私の場合、元のStrongLoopレポにコミットされた修正に注意を払ってそれらを元に戻す必要があることを意味しました。