Comments (4)
In the past I have needed to import sql files with stored procedures and I have done this in a migration up() method:
$file = RUCKUSING_WORKING_BASE . '/database-objects/function_update_business_search_content.sql';
if(file_exists($file)) {
$contents = file_get_contents($file);
$this->execute($contents);
}
Adjust the path to suit your needs of course. In your case you could shell out to the "mysql" or "psql" commands if that approach makes more sense.
On Mar 15, 2013, at 9:25 AM, Andrew Colchagoff [email protected] wrote:
It would be really nice if I could specify a .sql file as a starting point for deployment. for example If I want to move an existing site over to ruckusing I would like to be able to do a database dump and then do migrations off of that. is there a way to do this?
—
Reply to this email directly or view it on GitHub.
from ruckusing-migrations.
This works for now, but it would be nice if I could include a var in the config file that points to a base sql file, which is used as a starting point to be run before all other migrations.
from ruckusing-migrations.
Ive found that this is trickier than I had hoped, I ran into a lot of trouble with line endings and the sort, this is the code I used when I finally got it to work.
$file = RUCKUSING_WORKING_BASE . '/database-objects/database.sql';
if(file_exists($file)) {
$contents = file_get_contents($file);
$queries = explode(";\n", $contents);
foreach($queries as $query){
if(!empty($query)){
$this->execute($query);
}
}
}
from ruckusing-migrations.
Yeah not to mention that if the file is large enough you will exist PHP memory in the file_get_contents call - think of like a many MB file will do.
One solution might be to somehow configure the path to the DB command line tool (mysql or psql) and then just shell out to that tool with the file path as an argument - just like how one would it manually / normally outside Ruckusing.
On Mar 26, 2013, at 9:45 AM, Andrew Colchagoff [email protected] wrote:
Ive found that this is trickier than I had hoped, I ran into a lot of trouble with line endings and the sort, this is the code I used when I finally got it to work.
$file = RUCKUSING_WORKING_BASE . '/database-objects/database.sql'; if(file_exists($file)) { $contents = file_get_contents($file); $queries = explode(";\n", $contents); foreach($queries as $query){ if(!empty($query)){ $this->execute($query); } } }
—
Reply to this email directly or view it on GitHub.
from ruckusing-migrations.
Related Issues (20)
- Run migration through code HOT 1
- db:migrate throws exception if migrations dir is not writable HOT 3
- migrate_from_offset issue HOT 1
- Unable to execute query for trigger HOT 10
- DB connection issue when trying to setup Ruckusing Migrations - Abstract.php No Such File Or Directory HOT 4
- Error during migrations and rollbacks. "Reason: Commands out of sync; you can't run this command now" HOT 3
- Is it possible to execute the ruckusing-migration through http request HOT 4
- Is there any plan to have more details in schema_migrations table? HOT 1
- MySQL timestamp needs a NULL attribute when null == true
- how can i add auto_increment column to work with mysql and postgres databases? HOT 5
- FOREIGN KEY Constraint HOT 1
- Exception not properly thrown HOT 1
- Documentation for config file HOT 1
- CREATE INDEX CONCURRENTLY cannot run inside a transaction block
- Fatal error: Class 'mysqli' not found in /web/vendor/ruckusing/ruckusing-migrations/lib/Ruckusing/Adapter/MySQL/Base.php on line 1259 HOT 3
- Error:I dont know what column type of 'longtext' maps to for MySQL
- Roadmap: Integrate Percona Toolkit? HOT 1
- Use PSR LoggerInterface instead of Ruckusing_Util_Logger.
- Unable to connect via TLS for MySQL connections
- too many connections
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ruckusing-migrations.