annotate create_spede_mn_tuksu.tcl @ 36:b24cb1dd0423

Fail under certain conditions only when creating tables.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Sep 2011 18:19:13 +0300
parents dccd6c47f9cd
children 7b03971c6d28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 #!/usr/bin/tclsh
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 # TCL script for converting Spede, MN and Tuksu databases from
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3 # flatfile format to SQLite3 database.
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 #
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 # Written by Matti 'ccr' Hamalainen <ccr@tnsp.org>
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 # (C) Copyright 2011 Tecnic Software productions (TNSP)
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 #
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 package require sqlite3
34
dccd6c47f9cd Use special 'source' statement to include util_convert.tcl from same directory where the script calling it resides.
Matti Hamalainen <ccr@tnsp.org>
parents: 32
diff changeset
9 source [file dirname [info script]]/util_convert.tcl
32
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 set db_list {spededb tuksudb mndb}
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 ### Check commandline arguments
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 set db_str [join $db_list ", "]
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15 if {$argc < 1} {
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 puts "Creates tables for $db_str target SQLite3 file"
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 puts "Usage: $argv0 <output_sqlite3_db_file> \[-drop\]"
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18 puts ""
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19 puts "-drop option will drop any existing tables of same name."
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20 exit 0
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 }
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 set db_drop 0
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 set db_output [lindex $argv 0]
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25 if {$argc >= 2 && [lindex $argv 1] == "-drop"} {
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
26 set db_drop 1
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
27 }
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 ### Open database
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 open_db $db_output
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32 if {$db_drop} {
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33 puts "WARNING! Dropping of old tables $db_str requested!"
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34 puts "All data in those tables will be permanently lost!"
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36 if {![confirm_yesno "Proceed"]} {
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 puts "Aborting procedure."
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38 dbh close
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39 exit 0
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40 }
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42 foreach i $db_list {
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43 drop_table $i
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44 }
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45 }
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47 puts "Creating tables $db_str ..."
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
48 foreach i $db_list {
36
b24cb1dd0423 Fail under certain conditions only when creating tables.
Matti Hamalainen <ccr@tnsp.org>
parents: 34
diff changeset
49 create_table_quotes_votes $i 0
32
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50 }
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52 dbh close
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53
96fdf24afd9c Add scripts for *creating* empty URLLog and Spede/MN/Tuksu databases.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
54 puts "DONE."