Star2Billing / a2billing

A2Billing is a telecom switch and billing system capable of providing and billing a range of telecom products and services to customers such as calling card products, residential and wholesale VoIP termination, DID resale and callback services.
www.asterisk2billing.org
Other
181 stars 175 forks source link

Errors with strict mode #160

Open miken32 opened 6 years ago

miken32 commented 6 years ago

When using the most recent MySQL or MariaDB releases, SQL strict mode defaults to enabled. Trying to insert a customer record fails because there are no default values set for many of the columns, and no values are provided in the query! Without strict mode, an empty value was inserted automatically. I'm sure there problems with many other INSERT queries.

This query will show affected columns (i.e. those that cannot be set to null, but have null as a default value.) Probably many of these want to have no default value because they're required, but others can be updated to have default value of empty string.

SELECT table_name, column_name, column_type
    FROM information_schema.columns
    WHERE table_schema='mya2billing'
        AND is_nullable='NO'
        AND column_default is NULL;