Accueil

Ruby on Rails - Forcer une migration

Wakonda - Ruby on Rails Posté le 1er août 2021

Pour forcer l'application d'une migration sur la base de données, on peut utiliser la ligne de commande suivante :

rake db:migrate:redo VERSION=NUMEROVERSION

Sur la base de données de production :

RAILS_ENV=production rake db:migrate:redo VERSION=NUMERO_VERSION

 

Lire ...

PostGreSQL - Rechercher une valeur dans toutes les tables

Wakonda - PostgreSQL Posté le 1er novembre 2019

Je vous présente ici une fonction PostGreSQL permettant de rechercher une valeur donnée dans l'ensemble des champs de toutes les tables d'une base de données.

Fonction :

CREATE OR REPLACE FUNCTION search_whole_db(_like_pattern text)
  RETURNS TABLE(_tbl regclass, _ctid tid) AS
$func$
BEGIN
   FOR _tbl IN
      SELECT c.oid::regclass
      FROM   pg_class c
      JOIN   pg_namespace n ON n.oid = relnamespace
      WHERE  c.relkind = 'r'                           -- only tables
      AND    n.nspname !~ '^(pg_|information_schema)'  -- exclude system schemas
      ORDER BY n.nspname, c.relname
   LOOP
      RETURN QUERY EXECUTE format(
         'SELECT $1, ctid FROM %s t WHERE t::text ~~ %L'
       , _tbl, '%' || _like_pattern || '%')
      USING _tbl;
   END LOOP;
END
$func$  LANGUAGE plpgsql;

Utilisation :

SELECT * FROM search_whole_db('mypattern');

 

Lire ...

PostGreSQL - Supprimer des doublons

Wakonda - PostgreSQL Posté le 1er novembre 2019

Voici une requête qui vous permettra de supprimer les doublons dans une base de données PostGresSQL :

DELETE FROM dups a USING (
      SELECT MIN(ctid) as ctid, key
        FROM dups 
        GROUP BY key HAVING COUNT(*) > 1
      ) b
      WHERE a.key = b.key 
      AND a.ctid <> b.ctid

 

Lire ...

Rechercher

Tags

Publicité

Suivez-nous

Aidez-nous !

Admin