| FabForce-DBDesigner4 documentation | Contained in the FabForce-DBDesigner4 distribution. |
FabForce::DBDesigner4::SQL::Utils
version 0.306
use FabForce::DBDesigner4::SQL::Utils qw(get_foreing_keys);
As each database system has its own syntax, it is important to provide functions for each system.
FabForce::DBDesigner4::SQL::Utils - some utility functions for SQL generation
Renee Baecker, <module@renee-baecker.de>
Copyright (C) 2005 - 2009 by Renee Baecker
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.
Renee Baecker <module@renee-baecker.de>
This software is Copyright (c) 2010 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0
| FabForce-DBDesigner4 documentation | Contained in the FabForce-DBDesigner4 distribution. |
package FabForce::DBDesigner4::SQL::Utils; use strict; use warnings; use base 'Exporter'; our @EXPORT_OK = qw( get_foreign_keys ); our $VERSION = '0.01'; sub get_foreign_keys{ my @rels = @_; my %relations; my @foreignKeys; for my $rel(@rels){ next unless $rel; my $start = (split(/\./,$rel->[1]))[1]; my ($table,$target) = split(/\./,$rel->[2]); push(@{$relations{$table}},[$start,$target]); } for my $key(keys(%relations)){ my $string = 'FOREIGN KEY ('.join(',',map{$_->[0]}@{$relations{$key}}).')'; $string .= " REFERENCES $key(".join(',',map{$_->[1]}@{$relations{$key}}).')'; push(@foreignKeys,$string) } return @foreignKeys; }# getForeignKeys 1;
__END__