[server/migractions] finish migration to repoapi objects
Changeset 241b1232ed7f (Use repoapi instead of dbapi for cwctl shell,
upgrade and db-init) only did half of the job. It left the migration
handler with both a session (cubicweb.server.session.Session) and a cnx
(cubicweb.repoapi.ClientConnection) attribute with different ideas of
what Connection they were talking to.
With this change, we:
- make the caller responsible of disabling security on the Connection if
it wants to
- turn mih.session into an actual attribute, set on __init__
- same for cnx (the client connection)
- drop the "lazy connection" logic, and establish the connection
up-front
- always go through the connection instead of the session when we need
to talk to the db
function datetuple(d) {
return [d.getFullYear(), d.getMonth()+1, d.getDate(),
d.getHours(), d.getMinutes()];
}
function pprint(obj) {
print('{');
for(k in obj) {
print(' ' + k + ' = ' + obj[k]);
}
print('}');
}
function arrayrepr(array) {
return '[' + array.join(', ') + ']';
}
function assertArrayEquals(array1, array2) {
if (array1.length != array2.length) {
throw new crosscheck.AssertionFailure(array1.join(', ') + ' != ' + array2.join(', '));
}
for (var i=0; i<array1.length; i++) {
if (array1[i] != array2[i]) {
throw new crosscheck.AssertionFailure(arrayrepr(array1) + ' and ' + arrayrepr(array2)
+ ' differs at index ' + i);
}
}
}