misc/migration/3.14.4_Any.py
author Aurelien Campeas <aurelien.campeas@logilab.fr>
Thu, 24 Oct 2013 13:15:53 +0200
changeset 9395 96dba2efd16d
parent 8375 7d8979176bc0
child 9450 af4b93bc38a5
permissions -rw-r--r--
[hooks/security] provide attribute "add" permission As of today, the update permission on attributes is checked at entity *creation* time. This forbids using update permissions the proper way. We set it to be checked at entity update time only. We introduce a specific 'add' permission rule for attributes. For backward compatibility, its default value will be the same as the current 'update' permission. Notes: * needs a new yams version (ticket #149216) * introduces two new 'add_permissions' rdefs (attribute - group|rqlexpr) * if the update permission was () and the bw compat kicks in, the rule is not enforced, to avoid un-creatable entity types -- this restriction will be lifted when the bw compat is gone * small internal refactoring on check_entity_attributes * one small pre 3.6.1 bw compat snippet must be removed from schemaserial Closes #2965518.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8205
14c52c5ee706 [entities system table] change asource and source column size (closes #1951819)
Alexandre Richardson <alexandre.richardson@logilab.fr>
parents:
diff changeset
     1
from yams import schema2sql as y2sql
14c52c5ee706 [entities system table] change asource and source column size (closes #1951819)
Alexandre Richardson <alexandre.richardson@logilab.fr>
parents:
diff changeset
     2
14c52c5ee706 [entities system table] change asource and source column size (closes #1951819)
Alexandre Richardson <alexandre.richardson@logilab.fr>
parents:
diff changeset
     3
dbhelper = repo.system_source.dbhelper
14c52c5ee706 [entities system table] change asource and source column size (closes #1951819)
Alexandre Richardson <alexandre.richardson@logilab.fr>
parents:
diff changeset
     4
rdefdef = schema['CWSource'].rdef('name')
14c52c5ee706 [entities system table] change asource and source column size (closes #1951819)
Alexandre Richardson <alexandre.richardson@logilab.fr>
parents:
diff changeset
     5
attrtype = y2sql.type_from_constraints(dbhelper, rdefdef.object, rdefdef.constraints).split()[0]
14c52c5ee706 [entities system table] change asource and source column size (closes #1951819)
Alexandre Richardson <alexandre.richardson@logilab.fr>
parents:
diff changeset
     6
8263
a73ad255ff63 [migration/3.14.4] use the right API else we break sqlserver instances (closes #2211248)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8205
diff changeset
     7
cursor = session.cnxset['system']
8375
7d8979176bc0 fix an horrible typo
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8374
diff changeset
     8
sql('UPDATE entities SET asource = source WHERE asource is NULL')
8263
a73ad255ff63 [migration/3.14.4] use the right API else we break sqlserver instances (closes #2211248)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8205
diff changeset
     9
dbhelper.change_col_type(cursor, 'entities', 'asource', attrtype, False)
a73ad255ff63 [migration/3.14.4] use the right API else we break sqlserver instances (closes #2211248)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8205
diff changeset
    10
dbhelper.change_col_type(cursor, 'entities', 'source', attrtype, False)
a73ad255ff63 [migration/3.14.4] use the right API else we break sqlserver instances (closes #2211248)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8205
diff changeset
    11
dbhelper.change_col_type(cursor, 'deleted_entities', 'source', attrtype, False)