Avoid creating duplicate entries in the image table

This commit is contained in:
Pablo Carranza Velez 2016-07-22 16:55:31 +00:00
parent 1d16941a2d
commit 0b4f50d207

View File

@ -185,7 +185,9 @@ do ->
else else
repoTag = buildRepoTag(repo, tag, registry) repoTag = buildRepoTag(repo, tag, registry)
Promise.using writeLockImages(), -> Promise.using writeLockImages(), ->
knex('image').insert({ repoTag }) knex('image').select().where({ repoTag })
.then ([ img ]) ->
knex('image').insert({ repoTag }) if !img?
.then -> .then ->
if fromImage? if fromImage?
docker.createImageAsync({ fromImage, tag }) docker.createImageAsync({ fromImage, tag })
@ -199,7 +201,9 @@ do ->
exports.pullAndProtectImage = (image, onProgress) -> exports.pullAndProtectImage = (image, onProgress) ->
repoTag = buildRepoTag(image) repoTag = buildRepoTag(image)
Promise.using writeLockImages(), -> Promise.using writeLockImages(), ->
knex('image').insert({ repoTag }) knex('image').select().where({ repoTag })
.then ([ img ]) ->
knex('image').insert({ repoTag }) if !img?
.then -> .then ->
dockerProgress.pull(repoTag, onProgress) dockerProgress.pull(repoTag, onProgress)