From: | Yann Ramin <atrus(at)atrustrivalie(dot)eu(dot)org> |
---|---|
To: | Isaac <Isaac(at)UNSTOPPABLE(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: filemaker to pgsql ? |
Date: | 2000-11-08 03:06:37 |
Message-ID: | 00110719063707.16657@atp.atpn.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Yes, I just did the awhile back :)
Its time stamped and outputs a file which can be globbed in via. psql. This
way you can check for errors before you go insert.
Yann
Here is my version of the script:
#!/usr/bin/perl
#dvf=> \d products
## Table "products"
# Attribute | Type | Modifier
#---------------+--------------+----------
# product | varchar(20) |
# owner | varchar(100) |
# add_date | bigint |
# collection | varchar(50) |
# camera_format | varchar(50) |
# clip_cost | float8 |
# duration | bigint |
# film_date | bigint |
# location | varchar(50) |
sub do_opt {
my ($product, $field, @loop) = @_;
my $val;
foreach $val (@loop) {
if ($val) {
print "INSERT INTO product_opt (product, key, value) VALUES
('$product', '$field', '$val');\n";
}
}
}
while(<>) {
my @input = split(/\t/);
my $now = time;
my $product = $input[0];
print "INSERT INTO products (product, owner, add_date, collection,
camera_format, clip_cost, duration, film_date, location) VALUES ('$input[0]',
'person\(at)redshift(dot)com', $now, '$input[14]', '$input[3]', $input[4],
$input[8], '$input[6]', '$input[10]');\n";
my @altitude = split(/[\cK]/, $input[1]);
do_opt($product, 'altitude', @altitude);
my @behavior = split(/[\cK]/, $input[2]);
do_opt($product, 'behavior', @behavior);
my @common = split(/[\cK]/, $input[5]);
do_opt($product, 'common', @common);
my @key = split(/[\cK]/, $input[7]);
do_opt($product, 'keyword', @key);
my @habitat = split(/[\cK]/, $input[9]);
do_opt($product, 'habitat', @habitat);
my @subject = split(/[\cK]/, $input[13]);
do_opt($product, 'subject', @subject);
my @compo = split(/[\cK]/, $input[11]);
do_opt($product, 'composition', @compo);
}
On Mon, 06 Nov 2000, you (Isaac) might of written:
> hello,
>
> has anyone converted files from filemaker to postgres? I'm figuring I'll
> just export everything into tabbed text files and then use the perl
> extensions to parse it out into INSERT queries. If anyone has any
> experience (or code!) to share on this process, it would be great to hear
> about it.
>
> --i
--
--------------------------------------------------------------------
Yann Ramin atrus(at)atrustrivalie(dot)eu(dot)org
Atrus Trivalie Productions www.redshift.com/~yramin
AIM oddatrus
Marina, CA http://profiles.yahoo.com/theatrus
IRM Developer Network Toaster Developer
SNTS Developer KLevel Developer
Electronics Hobbyist person who loves toys
Build a man a fire, and he's warm for a day.
Set a man on fire, and he'll be warm for the rest of his life.
"I'm prepared for all emergencies but totally unprepared for everyday
life."
--------------------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Alfred Perlstein | 2000-11-08 03:26:42 | Re: database name. |
Previous Message | Matt Beauregard | 2000-11-08 02:26:12 | Re: Sharing Postgres Files |