12345678910111213141516171819202122232425 |
- package upgrades
- import (
- "database/sql"
- )
- func init() {
- upgrades[1] = upgrade{"Add ON DELETE CASCADE to message table", func(dialect Dialect, tx *sql.Tx, db *sql.DB) error {
- if dialect == SQLite {
- // SQLite doesn't support constraint updates, but it isn't that careful with constraints anyway.
- return nil
- }
- _, err := tx.Exec("ALTER TABLE message DROP CONSTRAINT message_chat_jid_fkey")
- if err != nil {
- return err
- }
- _, err = tx.Exec(`ALTER TABLE message ADD CONSTRAINT message_chat_jid_fkey
- FOREIGN KEY (chat_jid, chat_receiver) REFERENCES portal(jid, receiver)
- ON DELETE CASCADE`)
- if err != nil {
- return err
- }
- return nil
- }}
- }
|