List:General Discussion« Previous MessageNext Message »
From:Daevid Vincent Date:December 17 2002 4:10am
Subject:How can I duplicate a mysql template database?
View as plain text  
I need to use PHP to duplicate the schema of a mysql database. This
seems like it should be a simple task -- taking a 'template' db and
cloning it with a new name. 

I've tried things like:

		$filename = "myDB.sql";
		$fd = fopen ($filename, "r");
		$sql = fread ($fd, filesize ($filename));
		fclose ($fd);

And 

		$lines = file($filename);
		foreach ($lines as $line_num => $line) { $sql .= $line;
}

And
		$sql .= "CREATE TABLE IP_Dept (";
		$sql .= "  IP_Addr int(10) unsigned NOT NULL default
'0',";
		$sql .= "  DeptID int(10) unsigned NOT NULL default
'0'";
		$sql .= ");";
		
		$sql .= "CREATE TABLE ResolveTable (";
		$sql .= "  IP_Addr int(10) unsigned NOT NULL default
'0',";
		$sql .= "  Name char(255) NOT NULL default '',";
		$sql .= "  Custom char(1) default NULL,";
		$sql .= "  Global char(1) default 'Y',";
		$sql .= "  OSVersion char(255) default NULL,";
		$sql .= "  RowID int(10) unsigned NOT NULL
auto_increment,";
		$sql .= "  Display enum('Yes','No') NOT NULL default
'Yes',";
		$sql .= "  PRIMARY KEY  (RowID)";
		$sql .= ");";
		
	echo "<PRE>".$sql."</PRE><P>";
	$result = mysql_query($sql,$linkI);

But ALL of them fail! Ugh!!! Can I not stack commands like that? Is
there some way to read in a .sql file via PHP?  The problem is that my
web pages are on a web server and the db is on a mysql server which are
different machines, so calling a system() or other execute style
function won't work for me.

I figured, "Ah! Why don't I just make a template db on the server and
issue some SQL command to 'clone' that and rename it". You'd think that
was pretty straight forward, but I can't find any examples or commands
to do this seemingly trivial task. Ideas?

Thread
How can I duplicate a mysql template database?Daevid Vincent17 Dec
  • Re: How can I duplicate a mysql template database?Bill Lovett17 Dec
    • RE: How can I duplicate a mysql template database?Daevid Vincent17 Dec
      • RE: How can I duplicate a mysql template database? [hack]Daevid Vincent17 Dec
        • Re: How can I duplicate a mysql template database? [hack]Joseph Bueno17 Dec
          • RE: How can I duplicate a mysql template database? [hack]Daevid Vincent17 Dec
            • Re: How can I duplicate a mysql template database? [hack]Joseph Bueno17 Dec
      • Re: How can I duplicate a mysql template database?David T-G17 Dec
        • RE: How can I duplicate a mysql template database?Daevid Vincent17 Dec
          • Re: How can I duplicate a mysql template database?Joseph Bueno17 Dec
          • Re: How can I duplicate a mysql template database?David T-G17 Dec