Option to skip Validate() methods generation is gone

Executive summary
We use swagger to generate model and operation API for Docker Engine (aka Moby), and we believe that types and structures should be separated from the code. This is why we are using an option to disable generating Validate() methods.
Unfortunately, this option has disappeared, making us stick to a very old go-swagger codebase, which is becoming more and more problematic, e.g.

problems with unstable/unsorted output (https://github.com/go-swagger/go-swagger/issues/846, example: https://github.com/moby/moby/pull/38832#issuecomment-472106785)
golang 1.13 compatibility issue (https://github.com/go-swagger/go-swagger/issues/2058)

Details
Both swagger generate model and swagger generate operation used to have an option to disable generating Validate() methods. The option name was --skip-validator (what was in line with other options such as --skip-struct or --skip-responses), it was added:

for generate model: by commit 38dbdd808fb157f84724e19269d310128f7df71d ("move generator2 to generator package", Feb 16 2015, possibly earlier but there's no git history AFAICS)
for generate operation: by commit<PHONE_NUMBER>30b64a393d7353ca13ffe4ab540924 ("Add a --skip-validator flag for generate operation", Oct 5 2016)

Unfortunately, this option was silently removed from both commands by commit d2aae8150c526d861828ee0e8a16623df01d3fb5 ("Added an option in genOpts", Jan 4, 2018).
A similarly named (but with very different semantics) option, --skip-validation, was added by commit 78f848e7f01c8dca5c2744c69b08d9732d60b537 ("validate spec prior to gen. client/server", Jan 8, 2017). As suggested in https://github.com/go-swagger/go-swagger/commit/d2aae8150c526d861828ee0e8a16623df01d3fb5#commitcomment-29777292, a possible user confusion between --skip-validation and --skip-validator was the reason for removal, although it's not very clear.
We can obviously work around that by forking go-swagger and applying fixes on top of the old code, but I believe there's a better way.
Proposed solution
Reinstate the removed functionality.
To the best of my understanding, the biggest problem here is to avoid user confusion between --skip-validation and --skip-validator. There are many ways to solve it; I propose to:

add --generate option, accepting a string:bool type, for example: --generate struct:false --generate validator:false.
for backward compatibility, add the following hidden options
--skip-struct (equivalent of --generate struct:false)
--skip-handler
--skip-parameters
--skip-responses
--skip-url-builder

@fredbi @diego-fu-hs @casualjim PTAL
I am ready to work on the above proposal, as soon as we agree on the way forward. Please let me know what you think

@kolyshkin we allow for fully customizing the generation process. This is a very similar use case as what you've laid out with your 2 options. All that is required is creating a yaml config file.
In addition to just skipping bits and pieces it allows you to add extra templates or remove some templates.
the docs with some examples are here: https://goswagger.io/use/template_layout.html
Personally I agree with the feature, but I wonder if the config file isn't more appropriate.  Irrespective of what you chose to do I look forward to the PR

@casualjim well it occurs that this generated piece pertains to so called "protected templates". To be fair, this part is not completely customizable with go-swagger as is. Maybe we should just drop this protected thing altogether.
@kolyshkin  I believe the original filter with schema generation templates has remained in place, only the CLI option has been dropped (and mapping of it to the generation model). However, many changes have been added since this disappeared, so this probably will require a little tidying up of existing templates.

@kolyshkin it is not clear to me what --skip-struct would bring compared to the existing --skip-models.

@fredbi protected only applies if you don't use a custom yaml config.

@casualjm oh really? I missed that part... Thanks for rectifying my false assertion. There is always something to be learnt on this codebase ... :)

Hello everyone,
I'm sorry because this is an old post but is there any solution for this one.
I really want to remove those 4 methods when generating model (Validate, validateMessage, MarshalBinary, UnmarshalBinary) I want to keep the model clean with just struct (using option skip-exists then manually remove unwanted method but I think it is a bad solution).
I'm very new to go swagger and I have researched a lot but I still stuck at this.
Please share if you guys have any solution @kolyshkin , @casualjim , @fredbi .
Really sorry for disturbing you.
Thank you very much.

@vuongabc92  At the moment, you can achieve this by customizing the template.
Prepare a custom codegen config like explained here https://goswagger.io/use/template_layout.html#server-generation, then replace model generation by your own template. You may copy the original and remove the code you don't want then place in the location defined by your custom config.
We removed this option from the cli quite some time ago, because a lot of people got confused between spec validation and generate validator.

But you have to know that a go-swagger generated server won't function without those methods.
And if  you're not using the go-swagger server, then maybe swagger generate model is more appropriate for your use case

@fredbi @casualjim It works just fine.
Thank you very much for the support and sorry for the noise.

@casualjim
So all the model used by go-swagger server should have these methods including Validate()?  Thus, the imported model (by x-go-import) without these method won't work. We have to generate duplicate model by go-swagger and translated to the real object that we want import.
#2285

That is correct, but you can make your own templates. The validate method is required because our handler templates need to validate the input
Alternatively you could implement the validate method on your own models, if you don't care about validation you can always leave the method empty. And you can use type definition or embedding strategy if you already have a Validate method and they would clash

@casualjim   Thanks.
BTW, Can I make a  template that only affects specific objects, while the other objects still use the default handler templates?

Any updates on this?

Too many Validate methods are not friendly to embedded devices
Are there any updates on this?


Metadata file does not match checksum

There appears to be an issue with the metadata file in the yum repository rendering the IUS yum repository unusable.
https://repo.ius.io/7/x86_64/repodata/primary.xml.gz: [Errno -1] Metadata file does not match checksum
Trying other mirror.

The issue persists after full cleanup (yum clean all; rm -rf /var/cache/yum/*).

There appears to be some kind of issue with our CDN provider right now.  We're not currently able to force a refresh of the CDN content like we normally do.  I've filed a ticket with the provider to get it resolved.  In the meantime, you can temporarily bypass the CDN using the origin link in our FAQ.  Please do not use that URL permanently.


real time updates with SocketIO infastructure

relies on:
https://github.com/ShragaUser/kanbanSocketIOConnector
to be used as socketHandler.
adds "changed_by" on boards object saved in mongoDB

works like a charm.
notice:
must use README.md to install new Socket Service!


 Did you mean: '_optimizer_step_code'?

.tox/default/lib/python3.10/site-packages/torch/optim/optimizer.py:2[71](https://github.com/sparks-baird/matsci-opt-benchmarks/actions/runs/5193086890/jobs/9363184385#step:5:72): AttributeError

For me to address this error without forcing torch < 2.0, I will need to adjust CrabNet to use SWA from the official PyTorch implementation rather than the code that Anthony or Kaai copied (probably from a blog) when developing CrabNet.
Aside: I'm not sure how this will affect hyperparameters in the context of matsci-opt-benchmarks and crabnet-hyperparameter.

PyTorch documentation for SWA
Official source code for SWA (optim/swa_utils.py)

Uncited source code within CrabNet:

Entirety of https://github.com/sparks-baird/CrabNet/blob/main/crabnet/utils/optim.py
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/utils/utils.py#L611-L729
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/utils/utils.py#L732-L816

Places that require refactoring:

https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L372-L391
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L395-L401
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L409
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L423-L432
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L627-L633
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L651-L661
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L1131
https://github.com/sparks-baird/CrabNet/blob/b9835dc9075455e9df66e1701acc955e3e37c340/crabnet/crabnet_.py#L818

@anthony-wang @Kaaiian

What version of pytorch was usually used?

Probably just the latest version before 2.0. You shouldn't have to do anything fancy when you're installing locally on your computer, since it's already written into the latest requirements.

From https://github.com/sparks-baird/CrabNet/discussions/73#discussioncomment-7437336 by @DavidSiretMarques

I'm using pytorch for other things too, so that isn't an option...

That will make things tough. While not ideal, have you tried forcing installation of PyTorch < 2.0 and seeing if that breaks things in your other code?

Do you know the cause of the problem?
I've dedicated some time to this, but only enough to identify the places that require refactoring and some potential solutions.

It was weird that in my old mac computer it worked and in my newer windows computer didn't..., they should have the exact same env with the same libraries...
That's pretty interesting. I'm not sure why that would happen, though.


Session change not fired if identity token does not contain a sid claim

See here: https://github.com/authts/oidc-client-ts/blob/b7266eb650391d9e9807af21164874889963f1be/src/SessionMonitor.ts#L156
If there is no sid claim in the id token then undefined === undefined evaluates to true and the userSessionChanged event is never fired.
The sid claim is not part of the session management spec, it is only defined in frontchannel logout spec and it's optional. This claim should not be checked at all or at least the user session should be assumed to have changed when the claim is not present.

Thanks for reporting, would be nice when you provide a fix for this.

I can help. There are a couple of options to handle this:

Check the sub claim, ignore the sid claim. This is a straightforward fix but a behavioral breaking change. It might be ok considering the current behavior is incorrect.
Check the sub claim, check the sid claim but only fire the event if it's either different or missing. This avoids the break if the sid is always present, but still causes false alarms when the presence of the sid varies e.g. by requested scope.
Opt-in to 1 by exposing a new property on UserManagerSettings e.g. checkSessionIgnoreSid?: boolean. This would avoid the break but might not be optimal for consumers to discover.
A generalization of 3: configure which checks to make and as a consequence which events to fire. This is a more involved change.

Option 4 can also tackle the issue that the callback hits the OP via querySessionStatus (a silent sign-in with no scopes) to determine which event to fire. If the event handler(s) are going to refresh the profile/tokens anyway (e.g. signinSilent) or just kick out the user, then this is redundant load on the OP. The fix would be an opt-in to forego all checks and always fire the userSessionChanged event without any processing, never the other two. For example angular-auth-oidc-client does this, it's entirely up to the user how to handle the change.

@bachratyg Thanks for taking interests here, currently is a good time for a breaking change, so lets focus on following the specs and doing correctly without fallback to old behavior.


Fix sonar configuration for plugin version 2.8

The sonar plugin refactored a lot of code between versions 2.6 and 2.8 including the removal of support for versions prior to 5.6. This caused breaking changes for us. Also removes unused sonar reference from the configure-jenkins.groovy script.
Resolves #214.
Note this conflicts with PR #218 which reverts the plugin to 2.6. This fix supports the sonar plugin version 2.8

In the interest of moving us onward and upward, I'm going to merge this and work with @pcarney8 to get #218 rebased against this change.


[WIP] X v2

[ ] - Allow DB Models to be separate from Nova Models
[ ] - Ensure the X Generator generates properly
[ ] - Move all folders with base under a base folder with .base naming for easier understanding
[ ] - Leave a documentation for the migration path.

Found a much better solution and released<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Though you've closed this issue, I stil lthink revamping the .base is necesasry, as many files, as of now, don't uniformly respect this naming convention and are not very clear about wether they are base file or not

Agreed

On 26 May 2022, at 11:54, David Panart @.***> wrote:

Though you've closed this issue, I stil lthink revamping the .base is necesasry, as many files, as of now, don't uniformly respect this naming convention and are not very clear about wether they are base file or not
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.


Delete Button doesn't work

Describe the bug
Delete button doesn't work but gives an error in the console log
To Reproduce
Steps to reproduce the behavior:

Go to website
Click on delete button
Open the console log
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: Arc

Project no longer maintained


[REQUEST] Add option to parse only robots.txt files

Really quick tool, it would be great if it parses only robots.txt file

@mr0xE I intended for the tool to be passive

Add option to blacklist certain file types e.g png,ico,jpg,css

Great suggestion, I will work on it

Add option to blacklist certain file types e.g png,ico,jpg,css

@mr0xE , I added a -f, --filter option


Homeassistant arm64

It seems that the Current Homeassistant version would not run under ARM, as it will throw unsupported relocation type 7 in the cryptography lib.
Im not that deep into python/rust (as it looks like a rust lib, that is then bound into python), but rust itself should be platform dependent. So i think its most likely because of that.

Unfortunately I don't have any arm64 devices to test on so any help would be appreciated.

! Answering in minutes, and that today ;)
I will help with testing as far as i can do, i have enough arm64 devices currently running.
Im not that familiar with the way you build the images, but i think you will choose the arch for building it?
As far as i quickly glanced over, you choose aarc64/arm64 if the targetplatform is arm64. But is this also for things like the Python libs? not that they are defaulted to amd64, but again im not that deep into either Github Actions pipelining nor your pipeline ;)

There are some switches needed for amd64/arm64 with TARGETPLATFORM
https://github.com/onedr0p/containers/blob/main/apps/home-assistant/Dockerfile#L84-L93


How to include SVG code into Leaflet.js?

First of all, I know that this isn't section of "how to do it", but I've already asked on stackoverflow and I don't have any answer there.
I have a custom SVG code with layers inside.
So far it's working in a web page, I can manipulate with show/hide jQuery functions and now I want to integrate with Leaflet.
I've read the tutorial and documentation on Leafletjs.com.
All the examples I saw there are related with integrating image or some link for the OpenStreets maps etc.
First of all I've tried like this as an example:

This works fine, it's displayed the map, I can zoom in and zoom out, see the other objects, but from the source code I can see this is displaying like separate images with some logic.
I want to integrate my custom SVG code with all the layers inside, so I can drag, zoom and all other good features with Leaflet.
This website has exactly what I want to do:
https://winter.intermaps.com/oetztal?lang=en
From the source code you can see they are integrating the full SVG code inside the
.
I've uploaded my map.html file into my server and the whole SVG code is inside that file. How can I include it into Leaflet?

Hi, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.
I know you've already asked there, but you will definitely get an answer here.


[fix] updated sample

Updated the sample with the appropriate cmdlet and parameter

Docs Build status updates of commit 7732767:
:clock10: Full build: the average full build time is 13 min(s) 54 sec(s), this is based on the last 441 build(s) for this repository.

Docs Build status updates of commit 7732767:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPSiteSubscriptionConfig.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Looks ok.

Looks good.

ok by me

Docs Build status updates of commit 631109e:
:clock10: Full build: the average full build time is 11 min(s) 50 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 631109e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPSiteSubscriptionConfig.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update airframe-log to 23.11.3

About this PR
📦 Updates org.wvlet.airframe:airframe-log from 23.3.4 to 23.11.3
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.wvlet.airframe", artifactId = "airframe-log" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.wvlet.airframe", artifactId = "airframe-log" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #775.


OSX dmg

Some people don't like installing via Apple's mac app store, is a .dmg available anywhere?

https://s3.amazonaws.com/winds-2.0-releases/releases/Winds-2.0.211.dmg

:+1: Thanks


Complete the subsumption hierarchy to be BFO conform

In order to be BFO conform we need to make sure that all our classes and properties are either a subclass or subproperty of an other BFO/OBO ontology.

Mike's feedback for the call is here: https://docs.google.com/spreadsheets/d/1qfcDPFdkaKUX50ZVD0B4IAZpKSmGZtXp_U9-LLw0b88/edit#gid=976095919

9d44454 was wrong. These properties do not denote an event or event series, the somehow describe it. Thus as there is inverse of iao:is_about (0000136), I'll subsume them for now under owl:topObjectProperty.

The whole "iao:denoted_by" subproperties need to be revised.

All classes are now subsumed under BFO, so I'll close this one.


Smooth Scrolling

When clicked on menu the page scrolls instantly and stop on top without any offset.  can be used so for the correct and smooth scrolling of the page when menu clicked.

Used react-anchor-link-smooth-scroll for smooth scrolling on the page


The distance between the baselines of two adjacent lines should all be the same

As you can see, if a text lines contain Chinese characters, this line will appear at an awkward position.
I think the distance between the baselines of two adjacent lines should all be the same. Also, the text should align with line number on the baseline instead of the top position.

Could you please post the content of that file here? What does it look like in Gedit?

The file contains following text:
123abc
123abc一二三
123abc

Gedit also does not position lines on the right position, but Visual Studio Code does.

This seems to be a regression of 59e5c7c90a67af44b5ca876d745b7daea0261b90.


FilePicker Control : Display custom fields and views from document libraries

Category
[ ] Enhancement
[ ] Bug
[x] Question
Version
Please specify what version of the library you are using: [V3.5.0]
Question
The file picker controls supports 3 types of views : List, Tiles and Compact.
I would like to display custom added fields (fields added in a document library) and possibly to display the different views present for the document library.
Is this possible in any way and if not, what would be the best strategy to implement it ?
Thank you for your feedback !

Hi @ferrarirosso - there is no such an option right now.
But it could be a good enhancement to consider.

@AJIXuMuK any ideas if this planned to implement? Implementing just a small part of this request would already be a great improvement!


Swarm - strange service behavior with placement constraints

Maybe a visual bug, but i see that the created service with Placement constraints restriction fills out other swarm nodes (but instantly disappears after refreshing Container page).
What i do/see:

Entered swarm node (agent)
Created service such as like simple nginx container, restricted it to 1 replica and set constraint for node with name X (node.hostname).
Ensured that node X had got the container
Going to Containers (web), refreshed view
See that nginx service running at multiple nodes
Service actually not exists on "wrong" nodes (docker ps -a)
Logs at Service seems to be clear (started at one node, working, all is ok).

Are you using the portainer agent?

Yes, deployed from such yml:
`version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
ports:
- target: 9001
published: 9001
protocol: tcp
mode: host
networks:
- portainer_agent
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]
networks:
portainer_agent:
driver: overlay
attachable: true
`
docker stack deploy --compose-file=portainer-agent-stack.yml portainer

@Yumash your problem is actually related to https://github.com/portainer/portainer/issues/1867


pointer cursor on all items with click listeners

Examples
*fullscreen icon
*game icons

Changed to pointers on all clickable items.  Also fixed dismiss issue with game over dialog.


Added Icon

Added Icon and bumped version to 1.0.1
Closes #2

Codecov Report

Merging #3 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master     #3   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          16     16
=====================================
  Hits           16     16

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c591628...329acd4. Read the comment docs.

Thanks for the PR.
Can you please move the image file to static folder and change the icon path? No need for the version bump (I'll do it in a specific commit after this gets merged). Can you revert that change?
Also, don't you want any kind of attribution in the README or something? Feel free to add it, or just point that to me so I can add it later.

According to the docs, it looks like the icon should be a squared 128px PNG file. Your's seems to have 256px, so you also need to change that. Or, am I missing something?

Hi - I updated  the PR with the requested changes. For attribution, it'd be nice if you could put:
Icon by coliff (https://github.com/coliff/)
Thanks!

Looks good. Can you please squash the commits into a single one?

If you feel like in the mood, vscode-uppercase is also missing an icon! :sweat_smile:

You also need to update .vscodeignore to ignore each one (or all) of the existing gif files, otherwise vsce won't be able to find the icon.
diff --git a/.vscodeignore b/.vscodeignore
index 052a18f..4e3de33 100644
--- a/.vscodeignore
+++ b/.vscodeignore
@@ -2,7 +2,7 @@
 .vscode-test/**
 coverage/**
 instrumented/**
-static/**
+static/*.gif
 test/**
 .gitignore
 .travis.yml

I'm not too sure about how to squash the commits to one - actually would you mind finishing off this PR with those little changes? If you can, I'll create a 'vscode-uppercase' PR with an icon :-)

In your case, you can always just go back one commit (keeping the changes) and amend the previous one.
$ git reset HEAD~1
$ git add .
$ git ci --amend -C HEAD
$ git push origin master -f

But, I'll pick it up in any case.


Memory leak with numpy

Thank you for merging my memory leak patch.
However, there remains one more memory leak with numpy.
e.g.
require 'pycall/import'
include PyCall::Import

pyimport :gc
# require 'numpy'
# np = Numpy
pyimport :numpy, as: :np

zzz = np.zeros(1000000)
10000.times{
  zzz[zzz == 255] = 0   # mem leak !!
  zzz > 100             # mem leak !!
  gc.collect()
  GC.start
}

The following is my tentative patch:
--- pycall.c.ORG	2023-08-25 12:33:56.702026311 +0900
+++ pycall.c.NEW	2023-08-25 12:57:10.719879875 +0900
@@ -793,7 +793,10 @@ pycall_libpython_helpers_m_compare(VALUE
     pycall_pyerror_fetch_and_raise("PyObject_RichCompare in pycall_libpython_helpers_m_compare");
   }

-  return pycall_pyobject_to_ruby(res);
+  // return pycall_pyobject_to_ruby(res);
+  VALUE obj = pycall_pyobject_to_ruby(res);
+  pycall_Py_DecRef(res); // ADDED *** for numpy (e.g. np.array([1,2,3]) < 1)
+  return obj;
 }

 static int is_pyobject_wrapper(VALUE obj);

@mknkmyzk Thank you for your report.  Could you make this patch a pull-request?


Rename SecurePairingSession class and associated delegates

Problem
SecurePairingSession is implements PASE protocol, as defined in CHIP specifications. The class name is not conveying the purpose of code.
Proposed Solution
Rename SecurePairingSession class, and files to PasswordAuthenticatedSessionEstablishment
Reword pairing related functions in class and delegate (AuthenticatedSessionEstablishmentDelegate) to convey SessionEstablishment functionality.

Could we call them PASESession and CASESession for brevity?
Does the class just establish the session or does it manage the full lifecycle?

Could we call them PASESession and CASESession for brevity?
Does the class just establish the session or does it manage the full lifecycle?

Yes, sounds good to me. These classes are just establishing the session. The session is handed over to SecureSessionMgr.

Yes, sounds good to me. These classes are just establishing the session. The session is handed over to SecureSessionMgr.


Use defer func to update metadata/finalizer

This is prototype example of how we might handle delaying the update of adding/removing finalizers until the very end of each reconcile cycle.  It is intended to avoid requiring both an explicit Update call and an immediate reconcile return for adding/removing finalizers during the course of a reconcile loop.

Closing this, as we have a new proposed pattern for this concern


Remove all the deprecated API related files and references

As the docs already stated:

The django-helpdesk API is deprecated, and no longer maintained. See https://github.com/django-helpdesk/django-helpdesk/issues/198 for more details.
The API will be removed in January 2016

Now that we have a new-and-shiny 0.2, I think that we can safely drop all usages.
(I feel bad for removing so much code in a single commit)

Current coverage is 46.76% (diff: 100%)

Merging #441 into master will increase coverage by 1.50%

@@             master       #441   diff @@
==========================================
  Files            32         31     -1
  Lines          2914       2754   -160
  Methods           0          0
  Messages          0          0
  Branches        482        450    -32
==========================================
- Hits           1319       1288    -31
+ Misses         1490       1362   -128
+ Partials        105        104     -1

Powered by Codecov. Last update 790f1fc...53ed0d3

Awesome! You should feel awesome for removing so much code in a single commit! 😈

Well, that's a way to look at it, :laughing:
Less than 20 minutes from the PR until LGTM+Merge. Ok, that was insane. Even for a trivial PR. Loving it :wink:


Add Telegram::Bot::Api#file

This method can be used to download media after calling #getFile
Usage
# Select second tallest photo
def select_photo_by_height(notification)
  photos = notification.photo.sort_by(&:height)
  photos[-2]
end

client = ::Telegram::Bot::Client.new(ENV["bot_token"])
photo = select_photo_by_height(notification)
resp = client.api.get_file(file_id: photo.file_id)
raise "Invalid response from telegram: #{JSON.dump(resp)}" unless resp["ok"]

data = client.api.file(resp.dig("result", "file_path")) # binary data

@atipugin have you had a chance to look at this? IMO the benefit of having this method is we avoid the boilerplate of opening a new HTTP connection to telegram


Recipe Superseding

Requires issue #51 to be done first.
Update the recipe model to handle the concept of recipes superseding one another.
Add is_superseded, root_superseded_recipe_id, superseded_recipe_id, and superseded fields to recipe model
Add is_original to recipe_job model (think about the field name)
Update recipe handling to correctly handle jobs being in multiple recipes

update recipe handling methods to use named tuples (from previous pull request comment)
create class to handle recipe definitions

Update RecipeManager.get_recipe_for_job() to return the original recipe for the job
Update file ancestry links to only grab the root recipe for a job
Update RecipeManager.create_recipe() to accept a recipe being superseded

the two recipes may have different job_names for the jobs
all of the 'not is_original' recipe jobs (the "copied" jobs) should only depend upon one another

Release Notes:
Database Migrations

could take a long time as a re-write of the recipe_job table is required


change api access documentation - comments and variable names

First off, thanks very much for this project - I was very reliant on the old BCMAPI and this is  a big help. I'd just like to suggest a few updates to the README on calling the Wrapper - matching up the variable names in the playlist calls, and adding ref: to the reference calls just to be clear.

thanks @jcaponi for the corrections!
@rcrooks  can you please merge this pull request with changes to the readme file?


Password visible in the 'bash history'

would change the  parser.add_argument('--password', '-P', required=True, type=str)
into  parser.add_argument('--password', '-P', required=False, type=str)
adding "from getpass import getpass" in the import section
adding :
"
if not args.password:
args.password=getpass()
"
just after the "args = parser.parse_args()"
same could apply to some other fields :) (when you want to run it manually it help to reduce the leak of the password in some logs )

Hi Secufred,
yes you are right. I adjusted most of the scripts to use getpass instead of the direct input.
I think this is the more appropriate way to do.
Thanks again for your support.
Martin


doc/devices: Clean up the documentation for devices and device options

Clean up and make more consistent.

Documentation preview available at: https://linuxcontainers.org/lxd/docs/pr.11183/

Thanks for the review! Updated now. :)


Installation issue

What version of the DMPRoadmap code are you running? (e.g. v2.2.0)
master branch
Expected behaviour:
Should be able to install the application by following the installation instruction (https://github.com/DMPRoadmap/roadmap/wiki/Installation)
Actual behaviour:
Installation guide is a bit scarce on details
Some issues I have found:

Installation guide doesn't highlight the need for the DB_ADAPTER and RAILS_ENV environment variable. How am I expected to setup these environement variables, using a simple export? If so, why not putting that info in the installation guide? I can make a PR for this if you want;
Step "Create your database" should explain that the expected database names are roadmap_development,... as configured in file config/database.yml (I can make a PR for this if you want. Just adding something along the line "You should create 3 databases named roadmap_development, roadmap_test, and roadmap_production, or anything you like as defined in your config/database.yml file" should be enough);
Step "bin/setup" has a lot of prerequisites, https://github.com/DMPbelgium/DMPonline_v4/blob/master/SETUP.md lists them: required packages: gawk, g++, libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev. This should be added to this installation guide. I can make a PR for this if you want.

Eventualy, I'm still stuck at the bin/rails db:setup phase of the bin/setup step (see also https://github.com/DMPbelgium/roadmap/issues/49) when it fails with the following output:
support@dmponline-dev:/usr/local/bin/roadmap$ bin/rails db:setup
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/associations.rb:1855: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/associations.rb:1368: warning: The called method `has_many' is defined here
FlagShihTzu#has_flags: Table "orgs" doesn't exist.  Have all migrations been run?
FlagShihTzu says: Flag column org_type appears to be missing!
To turn off this warning set check_for_column: false in has_flags definition here: /usr/local/bin/roadmap/app/models/org.rb:169:in `<class:Org>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:12: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/query_cache.rb:95: warning: The called method `select_all' is defined here
rails aborted!
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'roadmap_development.identifier_schemes' doesn't exist: SELECT `identifier_schemes`.* FROM `identifier_schemes` WHERE ((`identifier_schemes`.`context` in (1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31)))
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in `block in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `synchronize'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:196:in `execute_and_free'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:33:in `exec_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:478:in `select'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:12:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/querying.rb:41:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:19:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:560:in `block in exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:547:in `exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:422:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:200:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:46:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation/delegation.rb:71:in `each'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:9:in `<class:OmniauthCallbacksController>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:8:in `<module:Users>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:3:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/config/initializers/ugent.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:663:in `block in load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications.rb:170:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:662:in `load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `block in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `instance_exec'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `run'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `tsort_each_child'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:60:in `run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:361:in `initialize!'
/usr/local/bin/roadmap/config/environment.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:337:in `require_environment!'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/command.rb:48:in `invoke'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands.rb:18:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'

Caused by:
Mysql2::Error: Table 'roadmap_development.identifier_schemes' doesn't exist
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in `block in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `synchronize'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:196:in `execute_and_free'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:33:in `exec_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:478:in `select'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:12:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/querying.rb:41:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:19:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:560:in `block in exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:547:in `exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:422:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:200:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:46:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation/delegation.rb:71:in `each'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:9:in `<class:OmniauthCallbacksController>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:8:in `<module:Users>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:3:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/config/initializers/ugent.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:663:in `block in load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications.rb:170:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:662:in `load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `block in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `instance_exec'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `run'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `tsort_each_child'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:60:in `run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:361:in `initialize!'
/usr/local/bin/roadmap/config/environment.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:337:in `require_environment!'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/command.rb:48:in `invoke'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands.rb:18:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
(See full trace by running task with --trace)
support@dmponline-dev:/usr/local/bin/roadmap$

Addtional info
bundle install has run properly:
support@dmponline-dev:/usr/local/bin/roadmap$ bundle install
Using rake 13.0.6
Using concurrent-ruby 1.1.10
Using i18n 1.10.0
Using minitest 5.15.0
Using thread_safe 0.3.6
Using tzinfo 1.2.9
Using activesupport 5.2.7
Using builder 3.2.4
Using erubi 1.10.0
Using mini_portile2 2.8.0
Using racc 1.6.0
Using nokogiri 1.13.3 (x86_64-linux)
Using rails-dom-testing 2.0.3
Using crass 1.0.6
Using loofah 2.16.0
Using rails-html-sanitizer 1.4.2
Using actionview 5.2.7
Using rack 2.2.3
Using rack-test 1.1.0
Using actionpack 5.2.7
Using nio4r 2.5.8
Using websocket-extensions 0.1.5
Using websocket-driver 0.7.5
Using actioncable 5.2.7
Using globalid 1.0.0
Using activejob 5.2.7
Using mini_mime 1.1.2
Using mail 2.7.1
Using actionmailer 5.2.7
Using activemodel 5.2.7
Using activemodel-serializers-xml 1.0.2
Using arel 9.0.0
Using activerecord 5.2.7
Using regexp_parser 2.2.1
Using ecma-re-validator 0.4.0
Using hana 1.3.7
Using uri_template 0.7.0
Using json_schemer 0.2.20
Using activerecord_json_validator 2.1.0
Using marcel 1.0.2
Using activestorage 5.2.7
Using public_suffix 4.0.6
Using addressable 2.8.0
Using annotate 3.2.0
Using bundler 2.2.33
Using annotate_gem 0.0.14
Using api-pagination 4.8.2
Using ast 2.4.2
Using execjs 2.8.1
Using autoprefixer-rails <IP_ADDRESS>
Using bcrypt 3.1.17
Using coderay 1.1.3
Using better_errors 2.9.1
Using bindex 0.8.1
Using debug_inspector 1.1.0
Using binding_of_caller 1.0.0
Using msgpack 1.5.0
Using bootsnap 1.11.1
Using brakeman 5.2.1
Using uniform_notifier 1.16.0
Using bullet 7.0.1
Using thor 1.2.1
Using bundler-audit <IP_ADDRESS>
Using bundle-audit 0.1.0
Using byebug 11.1.3
Using matrix 0.4.2
Using xpath 3.2.0
Using capybara 3.36.0
Using launchy 2.5.0
Using capybara-screenshot 1.0.26
Using rack-proxy 0.7.2
Using rexml 3.2.5
Using childprocess 3.0.0
Using rubyzip 2.3.2
Using selenium-webdriver 3.142.7
Using webrick 1.7.0
Using capybara-webmock 0.6.0
Using method_source 1.0.0
Using railties 5.2.7
Using sprockets 4.0.3
Using sprockets-rails 3.4.2
Using rails 5.2.7
Using contact_us 1.2.0
Using crack 0.4.5
Using database_cleaner-core 2.0.1
Using database_cleaner-active_record 2.0.1
Using database_cleaner 2.0.1
Using orm_adapter 0.5.0
Using responders 3.0.1
Using warden 1.2.9
Using devise 4.8.1
Using devise_invitable 2.0.6
Using diff-lcs 1.5.0
Using dotenv 2.7.6
Using dotenv-rails 2.7.6
Using multi_json 1.15.0
Using dragonfly 1.4.0
Using excon 0.92.2
Using formatador 1.1.0
Using mime-types-data 3.2022.0105
Using mime-types 3.4.1
Using fog-core 2.3.0
Using fog-json 1.2.0
Using fog-xml 0.1.4
Using fog-aws 3.13.0
Using dragonfly-s3_data_store 1.3.0
Using factory_bot 6.2.1
Using factory_bot_rails 6.2.0
Using faker 2.20.0
Using faraday-net_http 2.0.1
Using ruby2_keywords 0.0.5
Using faraday 2.2.0
Using ffi 1.15.5
Using file_utils 1.1.2
Using flag_shih_tzu 0.3.23
Using sassc 2.4.0
Using font-awesome-sass 5.13.1
Using forwardable 1.3.2
Using rspec-support 3.11.0
Using rspec-core 3.11.0
Using ruby-progressbar 1.11.0
Using fuubar 2.5.1
Using locale 2.1.3
Using singleton 0.1.1
Using prime 0.1.2
Using text 1.3.1
Using gettext 3.4.2
Using rb-fsevent 0.11.1
Using rb-inotify 0.10.1
Using listen 3.7.1
Using lumberjack 1.2.8
Using nenv 0.3.0
Using shellany 0.0.1
Using notiffany 0.1.3
Using pry 0.14.1
Using guard 2.18.0
Using guard-compat 1.2.1
Using rspec-expectations 3.11.0
Using rspec-mocks 3.11.1
Using rspec 3.11.0
Using guard-rspec 4.7.3
Using temple 0.8.2
Using tilt 2.0.10
Using haml 5.2.1
Using hashdiff 1.0.1
Using hashie 5.0.0
Using highline 2.0.3
Using htmltoword 1.1.1
Using multi_xml 0.6.0
Using httparty 0.20.0
Using jbuilder 2.11.5
Using jquery-rails 4.4.0
Using jquery-ui-rails 6.0.1
Using json 2.6.1
Using jwt 2.3.0
Using kaminari-core 1.2.2
Using kaminari-actionview 1.2.2
Using kaminari-activerecord 1.2.2
Using kaminari 1.2.2
Using ledermann-rails-settings 2.5.0
Using mimemagic 0.3.10
Using mocha 1.13.0
Using mysql2 0.5.3
Using nested_form 0.3.2
Using oauth2 1.4.9
Using rack-protection 2.2.0
Using omniauth 2.0.4
Using omniauth-oauth2 1.7.2
Using ruby_dig 0.0.2
Using omniauth-orcid 2.1.1
Using omniauth-rails_csrf_protection 1.0.1
Using omniauth-shibboleth 1.3.0
Using options 2.3.2
Using parallel 1.22.1
Using parser <IP_ADDRESS>
Using pg 1.3.5
Using progress_bar 1.3.3
Using puma 5.6.4
Using pundit 2.2.0
Using rspec-rails 5.1.1
Using pundit-matchers 1.7.0
Using rack-mini-profiler 3.0.0
Using rack-pjax 1.1.0
Using rails-controller-testing 1.0.5
Using remotipart 1.4.4
Using sassc-rails 2.1.2
Using rails_admin 2.0.2
Using rainbow 3.1.1
Using recaptcha 5.9.0
Using rollbar 3.3.0
Using rspec-collection_matchers 1.2.0
Using rubocop-ast 1.16.0
Using unicode-display_width 2.1.0
Using rubocop 1.26.1
Using rubocop-i18n 3.0.0
Using rubocop-performance 1.13.3
Using rubocop-rails 2.14.2
Using rubocop-rake 0.6.0
Using rubocop-rspec 2.9.0
Using rubocop-thread_safety 0.4.4
Using sass-rails 6.0.0
Using semantic_range 3.0.0
Using shoulda-context 2.0.0
Using shoulda-matchers 4.5.1
Using shoulda 4.0.0
Using spring 2.1.1
Using spring-commands-rspec 1.0.4
Using spring-watcher-listen 2.0.1
Using tomparse 0.4.2
Using translation 1.31
Using turbolinks-source 5.2.0
Using turbolinks 5.2.1
Using validates_hostname 1.0.11
Using web-console 3.7.0
Using webdrivers 4.7.0
Using webmock 3.14.0
Using webpacker 5.4.3
Using wicked_pdf 2.1.0 from https://github.com/mileszs/wicked_pdf
Using wkhtmltopdf-binary <IP_ADDRESS>
Using yard 0.9.27
Using yard-tomdoc 0.7.1
Using zaru 0.3.0
Bundle complete! 85 Gemfile dependencies, 222 gems now installed.
Bundled gems are installed into `./vendor/bundle`

Thanks for reporting this @StCyr.
We haven't revisited our installation instructions for some time and it is definitely out of date. I have just gone through and made some edits that hopefully make the process more clear. https://github.com/DMPRoadmap/roadmap/wiki/Installation

@StCyr Thanks for reaching out about this. We like to keep track of local implementations of our shared codebase. Could you tell us a little about how and where you're using the tool?

@StCyr Thanks for reaching out about this. We like to keep track of local implementations of our shared codebase. Could you tell us a little about how and where you're using the tool?

Hello, can we talk about this in private?

Thanks for reporting this @StCyr.
We haven't revisited our installation instructions for some time and it is definitely out of date. I have just gone through and made some edits that hopefully make the process more clear. https://github.com/DMPRoadmap/roadmap/wiki/Installation

Hello, I've reviewed your updated installation instructions and made sure I've followed all the steps but it's still failing at bin/rails db:create.
Here are some info about my environment:

Operating System: Ubuntu 20.04.4 LTS
database: mysql
I don't use rbenv or rvm (I'd like to keep the operating system's version)
Ruby version: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
Rails version: 5.2.7
Node version: v10.19.0
yarn version: 0.32+git

config/database.yml:
defaults: &defaults
  adapter: 'mysql2'
  encoding: <% if ENV['DB_ADAPTER'] == "mysql2" %>"utf8mb4"<% end %>
  <% if ENV["DB_ADAPTER"] == "postgresql" %>'username: postgres'<% end %>
  username: <% if ENV["DB_ADAPTER"] != "postgresql" %>'root'<% end %>
  password:
  database: roadmap_<%= ENV['RAILS_ENV'] %>
  pool: 16

development:
  <<: *defaults

test:
  <<: *defaults

Here's the full error message that I'm getting:
support@dmponline-dev:/usr/local/bin/roadmap$ sudo bin/rails db:create
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/associations.rb:1855: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/associations.rb:1368: warning: The called method `has_many' is defined here
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:12: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/query_cache.rb:95: warning: The called method `select_all' is defined here
rails aborted!
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'roadmap_development.identifier_schemes' doesn't exist: SELECT `identifier_schemes`.* FROM `identifier_schemes` WHERE ((`identifier_schemes`.`context` in (1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31)))
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in `block in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `synchronize'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:196:in `execute_and_free'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:33:in `exec_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:478:in `select'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:12:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/querying.rb:41:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:19:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:560:in `block in exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:547:in `exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:422:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:200:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:46:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation/delegation.rb:71:in `each'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:9:in `<class:OmniauthCallbacksController>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:8:in `<module:Users>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:3:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/config/initializers/ugent.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:663:in `block in load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications.rb:170:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:662:in `load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `block in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `instance_exec'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `run'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `tsort_each_child'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:60:in `run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:361:in `initialize!'
/usr/local/bin/roadmap/config/environment.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:337:in `require_environment!'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/command.rb:48:in `invoke'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands.rb:18:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'

Caused by:
Mysql2::Error: Table 'roadmap_development.identifier_schemes' doesn't exist
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in `block in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `synchronize'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:196:in `execute_and_free'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:33:in `exec_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:478:in `select'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:12:in `select_all'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/querying.rb:41:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:19:in `find_by_sql'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:560:in `block in exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:547:in `exec_queries'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:422:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation.rb:200:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bullet-7.0.1/lib/bullet/active_record52.rb:46:in `records'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/relation/delegation.rb:71:in `each'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:9:in `<class:OmniauthCallbacksController>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:8:in `<module:Users>'
/usr/local/bin/roadmap/app/controllers/users/omniauth_callbacks_controller.rb:3:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/config/initializers/ugent.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:663:in `block in load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications.rb:170:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:662:in `load_config_initializer'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/engine.rb:619:in `block in <class:Engine>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `instance_exec'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:32:in `run'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:50:in `tsort_each_child'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/initializable.rb:60:in `run_initializers'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:361:in `initialize!'
/usr/local/bin/roadmap/config/environment.rb:7:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:337:in `require_environment!'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/command.rb:48:in `invoke'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands.rb:18:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
(See full trace by running task with --trace)

Nevermind, I've understand the issue lies in this Belgian specific ugent.rb file.
Deleting this file gets me further in the installation process. I now have the following issue while running bin/rails db:schema:load:
...
(all goes well up to this point)
...
-- create_table("answers", {:id=>:integer, :force=>:cascade})
rails aborted!
ActiveRecord::StatementInvalid: Mysql2::Error: Cannot drop table 'answers' referenced by a foreign key constraint 'fk_rails_da7e58cf37' on table 'answers_question_options'.: DROP TABLE IF EXISTS `answers` CASCADE
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in `block in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `synchronize'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:340:in `drop_table'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/schema_statements.rb:308:in `create_table'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:871:in `block in method_missing'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:840:in `block in say_with_time'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:840:in `say_with_time'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:860:in `method_missing'
/usr/local/bin/roadmap/db/schema.rb:28:in `block in <main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/schema.rb:50:in `instance_eval'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/schema.rb:50:in `define'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/schema.rb:46:in `define'
/usr/local/bin/roadmap/db/schema.rb:13:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:245:in `load_schema'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:266:in `block in load_schema_current'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:316:in `block in each_current_configuration'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:313:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:313:in `each_current_configuration'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:265:in `load_schema_current'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/railties/databases.rake:258:in `block (3 levels) in <main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/command.rb:48:in `invoke'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands.rb:18:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'

Caused by:
Mysql2::Error: Cannot drop table 'answers' referenced by a foreign key constraint 'fk_rails_da7e58cf37' on table 'answers_question_options'.
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in `block in execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `synchronize'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in `execute'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:340:in `drop_table'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/connection_adapters/abstract/schema_statements.rb:308:in `create_table'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:871:in `block in method_missing'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:840:in `block in say_with_time'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:840:in `say_with_time'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/migration.rb:860:in `method_missing'
/usr/local/bin/roadmap/db/schema.rb:28:in `block in <main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/schema.rb:50:in `instance_eval'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/schema.rb:50:in `define'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/schema.rb:46:in `define'
/usr/local/bin/roadmap/db/schema.rb:13:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.7/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:245:in `load_schema'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:266:in `block in load_schema_current'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:316:in `block in each_current_configuration'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:313:in `each'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:313:in `each_current_configuration'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/tasks/database_tasks.rb:265:in `load_schema_current'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/activerecord-5.2.7/lib/active_record/railties/databases.rake:258:in `block (3 levels) in <main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/command.rb:48:in `invoke'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/railties-5.2.7/lib/rails/commands.rb:18:in `<main>'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/usr/local/bin/roadmap/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:schema:load
(See full trace by running task with --trace)
support@dmponline-dev:/usr/local/bin/roadmap$

Hi @StCyr it would seem that your DB was partially created perhaps in a earlier attempt. You'll need to delete it completely to start the installation from scratch.

Hello,
I'm trying to install your program directly now (and not the one modified from here https://github.com/DMPbelgium/roadmap/issues/49).
I'm having an issue when running EDITOR=vim rails credentials:edit:
root@dmponline-dev:/usr/local/bin/roadmap# EDITOR=vim rails credentials:edit
Could not find rake-13.0.6 in any of the sources
Run `bundle install` to install missing gems.

So, your installation instruction misses this bundle install step before ;-)

👍🏻 thanks. I have updated the document

closing for now (will open another though ;-) )


add docs for proguard config

Added missing docs regarding https://github.com/loopj/android-async-http/issues/975
Let me know if something is to be changed.

In my opinion, just HttpGet is not enough
Some of your current Proguard config changes paths and names within library, could you please debug your whole Proguard config, which of the settings (try resolve it one-by-one) will break the library usage

Hi, I am sorry I could not have another look at the same after our migration to 1.4.9 was complete. Will have a look on weekend and update here.


Mounted weapon fix

weaponOwnerPlayer variable was null in some cases which caused mounted machine guns & grenade launchers to not work at all and soft lock the game. @fijiro

Also seems to have fixed weapons (primarily bolt actions) from shooting without shooting a projectile (completely quiet too)