misc/migration/3.14.4_Any.py
author Julien Cristau <julien.cristau@logilab.fr>
Mon, 07 Apr 2014 18:04:56 +0200
changeset 9636 e35ae8617c03
parent 9463 d62e13eba033
child 10200 cceb2c7c02f4
permissions -rw-r--r--
Fix constraint sync during migration - restore constraints lost during merge in test schema. - use constraint_by_eid in BeforeDeleteCWConstraintHook as done in 3.17.14 for BeforeDeleteConstrainedByHook. Fixes handling of multiple constraints of the same type. - make sync_schema_props_perms() delete the CWConstraint entity instead of the constrained_by relation. In 3.19, the latter doesn't automatically result in the former just because the relation is composite. Simplify the constraint migration to delete all removed constraints and recreate new ones even if they share the same type; that optimization made the code more complicated for (AFAICT) no significant reason.
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
9463
d62e13eba033 [multi-sources-removal] Simplify ConnectionsSet internal structures and public methods
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 9450
diff changeset
     7
cursor = session.cnxset.cu
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)