#!/bin/bash if [ -z "$1" ]; then cat < [...] donde \"\" es el nombre de la base de datos a convertir. Como siempre, NO HAY GARANTIA DE QUE NO SE PIERDAN DATOS, y recomendamos correr el script primero contra una base de datos de prueba, y hacer un backup antes de convertir una base de producción. EOF exit 1 fi BASE="$1" shift OPTS="$@ -A -t -h localhost" DB="psql $OPTS $BASE" echo '\d' | $DB > /dev/null || exit 1 $DB < own_pos_document ALTER TABLE branch_document RENAME TO own_pos_document; ALTER TABLE _branch_document_data RENAME TO _own_pos_document_data; ALTER TABLE _own_pos_document_data ADD COLUMN own_pos bigint REFERENCES entity; ALTER TABLE _own_pos_document_data RENAME COLUMN branch TO DEPRECATED_branch; --cargo un punto de venta insert into entity (id) values (nextval('entity_id_seq')); insert into _entity_data (id,_table,_start_t,name) values (nextval('_entity_data_id_seq'),currval('entity_id_seq'),current_timestamp,'punto de ventapor defecto'); insert into own_entity (id) values (nextval('own_entity_id_seq')); insert into _entity_data (id,_table,_start_t,entity) values (nextval('_own_entity_data_id_seq'),currval('own_entity_id_seq'),current_timestamp,currval('entity_id_seq')); insert into own_pos (id) values (nextval('own_pos_id_seq')); insert into _own_pos_data (id,_table,_start_t,number,stock_by_invoice,own_entity) values (nextval('_own_pos_data_id_seq'),currval('own_pos_id_seq'),current_timestamp,true,currval('own_entity_id_seq')); --les doy el punto de venta por defecto; UPDATE _own_pos_data SET own_pos = currval('entity_id_seq') ; EOF