31 |
|
|
32 |
my $field = shift; |
my $field = shift; |
33 |
|
|
34 |
|
#print "#### delete_and_create($field)\n"; |
35 |
|
|
36 |
$self->{dbh}->commit; |
$self->{dbh}->commit; |
|
$self->{dbh}->begin_work; |
|
37 |
|
|
38 |
my $sql = "select count(*) from $field"; |
my $sql = "select count(*) from $field"; |
39 |
my $sth = $self->{dbh}->prepare($sql) || die $self->{dbh}->errstr(); |
my $sth = $self->{dbh}->prepare($sql) || die $self->{dbh}->errstr(); |
40 |
# FIX: this is not a good way to check if table exists! |
# FIX: this is not a good way to check if table exists! |
41 |
if ($sth->execute() && $sth->fetchrow_hashref) { |
if ($sth->execute() && $sth->fetchrow_hashref) { |
42 |
my $sql = "drop table $field"; |
my $sql = "drop table $field"; |
43 |
|
$self->{dbh}->begin_work; |
44 |
my $sth = $self->{dbh}->do($sql) || die "SQL: $sql ".$self->{dbh}->errstr(); |
my $sth = $self->{dbh}->do($sql) || die "SQL: $sql ".$self->{dbh}->errstr(); |
45 |
|
$self->{dbh}->commit; |
46 |
} |
} |
47 |
$sql = "create table $field ( |
$sql = "create table $field ( |
48 |
item varchar(255), |
item varchar(255), |
51 |
ord int, |
ord int, |
52 |
primary key (item,ident) |
primary key (item,ident) |
53 |
)"; |
)"; |
|
$sth = $self->{dbh}->do($sql); # || warn "SQL: $sql ".$self->{dbh}->errstr(); |
|
54 |
|
|
55 |
|
$self->{dbh}->begin_work; |
56 |
|
$sth = $self->{dbh}->do($sql); # || warn "SQL: $sql ".$self->{dbh}->errstr(); |
57 |
$self->{dbh}->commit; |
$self->{dbh}->commit; |
58 |
|
|
59 |
$self->{dbh}->begin_work; |
$self->{dbh}->begin_work; |
60 |
} |
} |
61 |
|
|