Subject: | Alzabo::Create::Schema->reverse_engineer() doesn't work with PostgreSQL 7.4.2 (CHARACTER_DATA type) |
It appears that Alzabo doesn't know anything about the
CHARACTER_DATA type, returned by PostgreSQL 7.4.2:
$ perl -MAlzabo::Create::Schema -wle 'Alzabo::Create::Schema->reverse_engineer(qw/name radek rdbms PostgreSQL/)'
Invalid column type: CHARACTER_DATA
Trace begun at /usr/share/perl5/vendor_perl/Alzabo/RDBMSRules/PostgreSQL.pm line 130
Alzabo::RDBMSRules::PostgreSQL::validate_column_type('Alzabo::RDBMSRules::PostgreSQL=HASH(0x8064d2c)', 'character_data', 'Alzabo::Create::Table=HASH(0x8613a14)') called at /usr/share/perl5/vendor_perl/Alzabo/Create/ColumnDefinition.pm line 44
Alzabo::Create::ColumnDefinition::_init(undef, 'owner', 'Alzabo::Create::Column=HASH(0x84b3d8c)', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/ColumnDefinition.pm line 26
Alzabo::Create::ColumnDefinition::new('Alzabo::Create::ColumnDefinition', 'owner', 'Alzabo::Create::Column=HASH(0x84b3d8c)', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Column.pm line 69
Alzabo::Create::Column::_init(undef, 'table', 'Alzabo::Create::Table=HASH(0x8613a14)', 'length', -5, 'nullable', 1, 'name', 'feature_id', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Column.pm line 26
Alzabo::Create::Column::new('Alzabo::Create::Column', 'table', 'Alzabo::Create::Table=HASH(0x8613a14)', 'length', -5, 'nullable', 1, 'name', 'feature_id', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Table.pm line 117
Alzabo::Create::Table::make_column('Alzabo::Create::Table=HASH(0x8613a14)', 'name', 'feature_id', 'nullable', 1, 'length', -5, 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/RDBMSRules/PostgreSQL.pm line 863
Alzabo::RDBMSRules::PostgreSQL::reverse_engineer('Alzabo::RDBMSRules::PostgreSQL=HASH(0x8064d2c)', 'Alzabo::Create::Schema=HASH(0x804cdd0)') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Schema.pm line 81
Alzabo::Create::Schema::reverse_engineer('Alzabo::Create::Schema', 'name', 'radek', 'rdbms', 'PostgreSQL') called at -e line 1
The database structure is: single table with single integer column:
$ psql -U radek -c '\d'
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | foo | table | radek
(1 row)
$ psql -U radek -c '\d foo'
Table "public.foo"
Column | Type | Modifiers
--------+---------+-----------
bar | integer |
Software used (everything from the PLD Linux Distribution):
$ rpm -q postgresql perl-Alzabo perl-DBI perl-DBD-Pg
postgresql-7.4.2-1
perl-Alzabo-0.82-1
perl-DBI-1.42-3
perl-DBD-Pg-1.32-1