1
0
Timotheus Pokorra d7caf3b0f8 TP-20240927-importfixes (#115)
Co-authored-by: Timotheus Pokorra <timotheus.pokorra@solidcharity.com>
Co-authored-by: Dev und Test fuer hsadminng <hsh03-hsngdev@h50.hostsharing.net>
Reviewed-on: https://dev.hostsharing.net/hostsharing/hs.hsadmin.ng/pulls/115
Reviewed-by: Michael Hoennig <michael.hoennig@hostsharing.net>
Co-authored-by: Timotheus Pokorra <timotheus.pokorra@hostsharing.net>
Co-committed-by: Timotheus Pokorra <timotheus.pokorra@hostsharing.net>
2024-11-21 10:27:34 +01:00

102 lines
3.8 KiB
Bash

#!/bin/sh
host="127.0.0.1"
port="5432"
dbname="hsh02_hsdb"
username="hsh02_hsdb_readonly"
target="/tmp"
if [ ! -z $DEST ];
then
target=$DEST
fi
dump() {
sql="copy ($1) to stdout with csv header delimiter ';' quote '\"'"
file="${target}/${2}"
psql --host ${host} --port ${port} --user ${username} --command "${sql}" ${dbname} >"${file}"
}
dump "select bp_id, member_id, member_code, member_since, member_until, member_role, author_contract, nondisc_contract, free, exempt_vat, indicator_vat, uid_vat
from business_partner
order by bp_id" \
"office/business_partners.csv"
dump "select contact_id, bp_id, salut, first_name, last_name, title, firma, co, street, zipcode, city, country, phone_private, phone_office, phone_mobile, fax, email, array_to_string(array_agg(role), ',') as roles
from contact
left join contactrole_ref using(contact_id)
group by contact_id
order by contact_id" \
"office/contacts.csv"
dump "select sepa_mandat_id, bp_id, bank_customer, bank_name, bank_iban, bank_bic, mandat_ref, mandat_signed, mandat_since, mandat_until, mandat_used
from sepa_mandat
order by sepa_mandat_id" \
"office/sepa_mandates.csv"
dump "select member_asset_id, bp_id, date, action, amount, comment
from member_asset
order by member_asset_id" \
"office/asset_transactions.csv"
dump "select member_share_id, bp_id, date, action, quantity, comment
from member_share
order by member_share_id" \
"office/share_transactions.csv"
dump "select inet_addr_id, inet_addr, description
from inet_addr
order by inet_addr_id" \
"hosting/inet_addr.csv"
dump "select hive_id, hive_name, inet_addr_id, description
from hive
order by hive_id" \
"hosting/hive.csv"
dump "select packet_id, basepacket_code, packet_name, bp_id, hive_id, created, cancelled, cur_inet_addr_id, old_inet_addr_id, free
from packet
left join basepacket using (basepacket_id)
order by packet_id" \
"hosting/packet.csv"
dump "select packet_component_id, packet_id, quantity, basecomponent_code, created, cancelled
from packet_component
left join basecomponent using (basecomponent_id)
order by packet_component_id" \
"hosting/packet_component.csv"
dump "select unixuser_id, name, comment, shell, homedir, locked, packet_id, userid, quota_softlimit, quota_hardlimit, storage_softlimit, storage_hardlimit
from unixuser
order by unixuser_id" \
"hosting/unixuser.csv"
# weil das fehlt, muss group by komplett gesetzt werden: alter table domain add constraint PK_domain primary key (domain_id);
dump "select domain_id, domain_name, domain_since, domain_dns_master, domain_owner, valid_subdomain_names, passenger_python, passenger_nodejs, passenger_ruby, fcgi_php_bin, array_to_string(array_agg(domain_option_name), ',') as domainoptions
from domain
left join domain__domain_option using(domain_id)
left join domain_option using (domain_option_id)
group by domain.domain_id, domain.domain_name, domain_since, domain_dns_master, domain_owner, valid_subdomain_names, passenger_python, passenger_nodejs, passenger_ruby, fcgi_php_bin
order by domain.domain_id" \
"hosting/domain.csv"
dump "select emailaddr_id, domain_id, localpart, subdomain, target
from emailaddr
order by emailaddr_id" \
"hosting/emailaddr.csv"
dump "select emailalias_id, pac_id, name, target
from emailalias
order by emailalias_id" \
"hosting/emailalias.csv"
dump "select dbuser_id, engine, packet_id, name
from database_user
order by dbuser_id" \
"hosting/database_user.csv"
dump "select database_id, engine, packet_id, name, owner, encoding
from database
order by database_id" \
"hosting/database.csv"