Changeset 28262 for trunk/base
- Timestamp:
- Aug 26, 2007, 10:52:22 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/base/portmgr/PortIndex2MySQL.tcl
r27961 r28262 83 83 set dbcmd [macports::findBinary mysql5] 84 84 set dbhost 127.0.0.1 85 set dbname macports86 85 set dbuser macports 87 86 set passwdfile [file join . password_file] 88 87 set dbpasswd [getpasswd $passwdfile] 89 set db cmdargs "-h $dbhost -u $dbuser -p$dbpasswd $dbname"88 set dbname macports 90 89 91 90 # Flat text file to which sql statements are written. … … 106 105 # Initial creation of database tables: log, portfiles, categories, maintainers, dependencies, variants and platforms. 107 106 # Do we need any other? 108 puts $sqlfile_fd "DROP TABLE log"109 puts $sqlfile_fd "CREATE TABLE IF NOT EXISTS log (activity VARCHAR(255), activity_time TIMESTAMP(14)) "110 puts $sqlfile_fd "INSERT INTO log VALUES ('update', NOW()) "111 112 puts $sqlfile_fd "DROP TABLE portfiles"113 puts $sqlfile_fd "CREATE TABLE portfiles (name VARCHAR(255) PRIMARY KEY NOT NULL, path VARCHAR(255), version VARCHAR(255), description TEXT) "114 115 puts $sqlfile_fd "DROP TABLE IF EXISTS categories "116 puts $sqlfile_fd "CREATE TABLE categories (portfile VARCHAR(255), category VARCHAR(255), is_primary INTEGER) "117 118 puts $sqlfile_fd "DROP TABLE IF EXISTS maintainers "119 puts $sqlfile_fd "CREATE TABLE maintainers (portfile VARCHAR(255), maintainer VARCHAR(255), is_primary INTEGER) "120 121 puts $sqlfile_fd "DROP TABLE IF EXISTS dependencies "122 puts $sqlfile_fd "CREATE TABLE dependencies (portfile VARCHAR(255), library VARCHAR(255)) "123 124 puts $sqlfile_fd "DROP TABLE IF EXISTS variants "125 puts $sqlfile_fd "CREATE TABLE variants (portfile VARCHAR(255), variant VARCHAR(255)) "126 127 puts $sqlfile_fd "DROP TABLE IF EXISTS platforms "128 puts $sqlfile_fd "CREATE TABLE platforms (portfile VARCHAR(255), platform VARCHAR(255)) "107 puts $sqlfile_fd "DROP TABLE IF EXISTS log;" 108 puts $sqlfile_fd "CREATE TABLE IF NOT EXISTS log (activity VARCHAR(255), activity_time TIMESTAMP(14));" 109 puts $sqlfile_fd "INSERT INTO log VALUES ('update', NOW());" 110 111 puts $sqlfile_fd "DROP TABLE IF EXISTS portfiles;" 112 puts $sqlfile_fd "CREATE TABLE portfiles (name VARCHAR(255) PRIMARY KEY NOT NULL, path VARCHAR(255), version VARCHAR(255), description TEXT);" 113 114 puts $sqlfile_fd "DROP TABLE IF EXISTS categories;" 115 puts $sqlfile_fd "CREATE TABLE categories (portfile VARCHAR(255), category VARCHAR(255), is_primary INTEGER);" 116 117 puts $sqlfile_fd "DROP TABLE IF EXISTS maintainers;" 118 puts $sqlfile_fd "CREATE TABLE maintainers (portfile VARCHAR(255), maintainer VARCHAR(255), is_primary INTEGER);" 119 120 puts $sqlfile_fd "DROP TABLE IF EXISTS dependencies;" 121 puts $sqlfile_fd "CREATE TABLE dependencies (portfile VARCHAR(255), library VARCHAR(255));" 122 123 puts $sqlfile_fd "DROP TABLE IF EXISTS variants;" 124 puts $sqlfile_fd "CREATE TABLE variants (portfile VARCHAR(255), variant VARCHAR(255));" 125 126 puts $sqlfile_fd "DROP TABLE IF EXISTS platforms;" 127 puts $sqlfile_fd "CREATE TABLE platforms (portfile VARCHAR(255), platform VARCHAR(255));" 129 128 130 129 … … 190 189 } 191 190 192 puts $sqlfile_fd "INSERT INTO portfiles VALUES ('$portname', '$portdir', '$portversion', '$description') "191 puts $sqlfile_fd "INSERT INTO portfiles VALUES ('$portname', '$portdir', '$portversion', '$description');" 193 192 194 193 set primary 1 195 194 foreach category $categories { 196 197 puts $sqlfile_fd "INSERT INTO categories VALUES ('$portname', '$category', $primary)"198 195 set category [sql_escape $category] 196 puts $sqlfile_fd "INSERT INTO categories VALUES ('$portname', '$category', $primary);" 197 incr primary 199 198 } 200 199 201 200 set primary 1 202 201 foreach maintainer $maintainers { 203 204 puts $sqlfile_fd "INSERT INTO maintainers VALUES ('$portname', '$maintainer', $primary)"205 202 set maintainer [sql_escape $maintainer] 203 puts $sqlfile_fd "INSERT INTO maintainers VALUES ('$portname', '$maintainer', $primary);" 204 incr primary 206 205 } 207 206 208 207 foreach build_dep $depends_build { 209 208 set build_dep [sql_escape $build_dep] 210 puts $sqlfile_fd "INSERT INTO dependencies VALUES ('$portname', '$build_dep') "209 puts $sqlfile_fd "INSERT INTO dependencies VALUES ('$portname', '$build_dep');" 211 210 } 212 211 213 212 foreach lib $depends_lib { 214 215 puts $sqlfile_fd "INSERT INTO dependencies VALUES ('$portname', '$lib')"213 set lib [sql_escape $lib] 214 puts $sqlfile_fd "INSERT INTO dependencies VALUES ('$portname', '$lib');" 216 215 } 217 216 218 217 foreach run_dep $depends_run { 219 218 set run_dep [sql_escape $run_dep] 220 puts $sqlfile_fd "INSERT INTO dependencies VALUES ('$portname', '$run_dep') "219 puts $sqlfile_fd "INSERT INTO dependencies VALUES ('$portname', '$run_dep');" 221 220 } 222 221 223 222 foreach variant $variants { 224 225 puts $sqlfile_fd "INSERT INTO variants VALUES ('$portname', '$variant')"223 set variant [sql_escape $variant] 224 puts $sqlfile_fd "INSERT INTO variants VALUES ('$portname', '$variant');" 226 225 } 227 226 228 227 foreach platform $platforms { 229 230 puts $sqlfile_fd "INSERT INTO platforms VALUES ('$portname', '$platform')"228 set platform [sql_escape $platform] 229 puts $sqlfile_fd "INSERT INTO platforms VALUES ('$portname', '$platform');" 231 230 } 232 231 … … 240 239 exit 1 241 240 } 242 if {[catch {exec $dbcmd $dbcmdargs<@ $sqlfile_fd} errstr]} {241 if {[catch {exec -- $dbcmd --host=$dbhost --user=$dbuser --password=$dbpasswd --database=$dbname <@ $sqlfile_fd} errstr]} { 243 242 ui_error "${::errorCode}: $errstr" 244 243 exit 1
Note: See TracChangeset
for help on using the changeset viewer.