In Odoo 6 & 7 it was easier to remove the Sql constraints, but in Odoo 8.0 it is a little bit complex. For making it simpiler I will be showing how you can get this done.
There are basically two approaches for this,
First one is to fire a SQL command to remove the constraint directly from the database,
Second one is by creating a custom module, and removing the constraint.
The option you choose is completely dependent on your requirement.
First Approach : How to remove Constraint from the the Database directly:
Note down :
Structure for the the constraint name in the database is
3. The SQL Command would be :
In this approach there can be an issue, unless if that’s your need, and that is,
First, once you restart the server, those constraints will be applied again.
Second problem will be if you want to apply the constraint again, and you have entered any data which is violating this constraint, like this,
WARNING SurekhatechDB openerp.models.schema: Table 'product_attribute_value': unable to add 'unique (name,attribute_id)' constraint !
If you want to have it, you should update the records and execute manually:
ALTER TABLE "product_attribute_value" ADD CONSTRAINT "product_attribute_value_value_company_uniq" unique (name,attribute_id).
The solution for the first problem would be to use the Second Approach defined in this blog.
The solution for the second problem would be, to go in the database, in the table where these values are entered and remove them manually.
Second Approach : Inheriting the model and removing the constraint:
In this approach, you will be needing a custom module to be developed.
Inheriting the model whose constraint needs to be removed.
And then in _sql_constraints entering the constraint to remove.
_inherit = 'product.attribute.value'
_sql_constraints = [('value_company_uniq', 'CHECK(1=1)', 'This attribute value already exists !')]
The value_company_uniq is a constraint that I am taking as an example to remove.
CHECK(1=1) is to to bypass the constraint, through a True condition.
These two approaches would help you remove any constraint in Odoo.
For more implementation details or support, you may contact us at firstname.lastname@example.org .