cubicweb/server/test/data-migractions/cubicweb_fakecustomtype/site_cubicweb.py
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Thu, 28 Mar 2019 10:04:23 +0100
changeset 12545 be36811f0d08
parent 11057 cubicweb/server/test/data-migractions/cubes/fakecustomtype/site_cubicweb.py@0b59724cb3f2
child 12841 fceae84a22dd
permissions -rw-r--r--
[server/test] make unittest_migractions.py use new style cubes MigrationTC used old cube layout in cubicweb/server/test/data-migractions/cubes, move them to new style cubes as "cubicweb_<cubename>" in "apphome" (cubicweb/server/test/data-migractions/) which is added to PYTHONPATH by CubicWebTC.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10999
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     1
from yams import register_base_type
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     2
from logilab.database import get_db_helper
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     3
from logilab.database.sqlgen import SQLExpression
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     4
11006
096adb786873 [migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents: 11005
diff changeset
     5
_NUMERIC_PARAMETERS = {'scale': 0, 'precision': None}
096adb786873 [migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents: 11005
diff changeset
     6
register_base_type('Numeric', _NUMERIC_PARAMETERS)
10999
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     7
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     8
# Add the datatype to the helper mapping
adc46197b8c9 [migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     9
pghelper = get_db_helper('postgres')
11005
f8417bd135ed [server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 10999
diff changeset
    10
f8417bd135ed [server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 10999
diff changeset
    11
11006
096adb786873 [migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents: 11005
diff changeset
    12
def pg_numeric_sqltype(rdef):
096adb786873 [migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents: 11005
diff changeset
    13
    """Return a PostgreSQL column type corresponding to rdef
11005
f8417bd135ed [server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 10999
diff changeset
    14
    """
11006
096adb786873 [migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents: 11005
diff changeset
    15
    return 'numeric(%s, %s)' % (rdef.precision, rdef.scale)
11005
f8417bd135ed [server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 10999
diff changeset
    16
11006
096adb786873 [migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents: 11005
diff changeset
    17
pghelper.TYPE_MAPPING['Numeric'] = pg_numeric_sqltype